As the title says, I would like to know the difference between a hard link and a soft link created by the command ln
. The command man ln
does provide information, but does not sufficiently answer my question.
Also, it would be nice if someone could provide a setting where hard link might be preferable over a symbolic link.
Best Answer
In Linux/Unix, Shortcuts are known as Links
Links are of two types: soft links (symbolic links) or hard links.
Soft Links (symbolic links)
You can make links to files and directories, and you can create links (shortcuts) on different partitions and with a different inode number than the original.
If the real copy is deleted, the link will not work.
Hard Links
Hard links are for files only; you cannot link to a file on a different partition with a different inode number.
If the real copy is deleted, the link will work, because it accesses the underlying data which the real copy was accessing.
Question: How do I make soft link?
Answer: A soft link can be made with
ln -s
; first you need to define the source and then you need to define the destination. (Keep in mind you need to define the full paths of both source and destination; otherwise it will not work.)As you can see it has a different inode and can be made on a different partition.
Question: How do I make Hard link?
Answer: A Hard link can be made with
ln
; first you need to define the source and then you need to define the destination. (Keep it mind you need to define the full path of both source and destination; otherwise it will not work.)Let's say I have a script in the
/script
directory namedfirefox
.As you can see, it has the same inode. If I delete the original file, the link will still work, and it will act as the original.
Above, I check that the link is working, and then delete the original firefox script.
Question: It would be nice if someone could provide a setting where a hard link might be preferable over a symbolic link.
Answer: Depending on the disk partition layout, hard links have the limitation that they must be on same partition (-1 point) and can only link to files (-1 point), but if the original is deleted, the link will work and it acts like the original (+1 point).
On the other hand, a soft link can point to directories or files (+1 point) and there is no partition limitation (+1 point), but if the source is deleted, the link will not work (-1 point).