/ Published in: Bash

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.
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.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
# 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
Comments
