Saturday, May 4, 2024
92
rated 0 times [  92] [ 0]  / answers: 1 / hits: 657874  / 1 Year ago, sat, february 18, 2023, 4:30:58

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.


More From » symbolic-link

 Answers
2

In Linux/Unix, Shortcuts are known as Links






Links are of two types: soft links (symbolic links) or hard links.




  1. 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.


  2. 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.)



 sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib32/libGL.so.1
(----------Source-------) ( Destination )


enter image description here



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 named firefox.



 ls -i # Shows you the inode
5898242 firefox

ln /scripts/firefox /scripts/on-fire
( Source ) ( Destination )


enter image description here



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.



enter image description here



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).


[#40110] Monday, February 20, 2023, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
memorrappin

Total Points: 325
Total Questions: 122
Total Answers: 100

Location: Armenia
Member since Sat, Sep 12, 2020
4 Years ago
;