Return to Snippet

Revision: 16781
at August 15, 2009 16:35 by deepsoul


Initial Code
# create hard link in subdir which points to ../otherdir/file
ln ../otherdir/file subdir/link

# create symbolic link in subdir which points to ../otherdir/file
ln -s ../../otherdir/file subdir/symlink
# note the additional "../" which compensates the subdir

Initial URL

                                

Initial Description
When using `ln` to create a link in a different directory, the semantics of creating hard and symbolic links differ.  That is because a hard link contains a direct reference to its target's data, while a symbolic link is just a string containing a (possibly relative) path.  You can get around this by using absoute paths, but then moving a subtree will break the symlink.

Just to recap, the other main differences between hard and symbolic links: Symbolic links can be left dangling when their target is removed; hard links cannot.  Symbolic links can point to files on other partitions or disks, while hard links cannot.

Initial Title
Creating links in different directories (Linux/UNIX)

Initial Tags
path, link, unix, linux, directory

Initial Language
Bash