[Python-Dev] hard linking executables

Ben Finney ben+python at benfinney.id.au
Wed Jul 27 23:37:47 CEST 2011


Dan Stromberg <drsalists at gmail.com> writes:

> It's been suggested that *ix has hardlinks because someone thought up
> hardlinks before someone thought up symlinks - IOW, there are those who
> suggest that if people had added symlinks first, no one would've bothered
> adding hardlinks.

Well, that suggestion is faulty. It ignores the fact that *all* ordinary
files on Unix are hard links. Any ordinary file entry in a directory is
a hard link to the file's data.

The “hard links” capability, therefore, isn't something that was added;
it's fundamental to Unix filesystems from their inception.

The ‘ln’ command adds *additional* hard links to an existing file's
data; but, once added, they're exactly the same as any other ordinary
file entry.

> Symlinks are almost always more flexible, and almost always more
> clear.

Yet many tools don't work as expected with symbolic links which will
work with an ordinary file (a “hard link”). One can argue that such
tools are to that extent buggy, but symbolic links produce deliberately
different behaviour which is sometimes not what one needs.

-- 
 \     “Wrinkles should merely indicate where smiles have been.” —Mark |
  `\                                    Twain, _Following the Equator_ |
_o__)                                                                  |
Ben Finney



More information about the Python-Dev mailing list