Showing posts with label Difference between Hard Link and Soft Link. Show all posts
Showing posts with label Difference between Hard Link and Soft Link. Show all posts

Monday, 15 August 2016



Difference between Hard Link and Soft Link:
-

Lets learn the differnce with an example

Example: Create a file " original-file.txt "

:~/test$ echo "Learning about Hard and Soft Link" > original-file.txt
:~/test$ cat original-file.txt
Learning about Hard and Soft Link

                                   

Now lets create a Hard Link

Example: HardLink-file.txt

:~/test$ ln original-file.txt HardLink-file.txt
:~/test$ ls -il
total 8
840388 -rw-r--r-- 2 telson telson 33 2009-05-18 09:16 HardLink-file.txt
840388 -rw-r--r-- 2 telson telson 33 2009-05-18 09:16 original-file.txt

                                   

Now lets create a Soft Link

Example: SoftLink-file.txt

:~/test$ ln -s original-file.txt SoftLink-file.txt
:~/test$ ls -il
total 8
840388 -rw-r--r-- 2 telson telson 33 2009-05-18 09:16 HardLink-file.txt
840388 -rw-r--r-- 2 telson telson 33 2009-05-18 09:16 original-file.txt
840186 lrwxrwxrwx 1 telson telson 17 2009-05-18 09:23 SoftLink-file.txt -> original-file.txt

                                   

From the above ls -il result, you find the same inode for " HardLink-file.txt " and " original-file.txt ".
Inode value is different for the soft link " SoftLink-file.txt ".

Now lets try editing the original file:

Example:

:~/test$ cat >> original-file.txt
Editing this file to learn more!!

:~/test$ cat original-file.txt
Learning about Hard and Soft Link
Editing this file to learn more!!

:~/test$ cat HardLink-file.txt
Learning about Hard and Soft Link
Editing this file to learn more!!

:~/test$ cat SoftLink-file.txt
Learning about Hard and Soft Link
Editing this file to learn more!!

Now lets try changing the permissions:

Example:

:~/test$ chmod 700 original-file.txt
:~/test$ ls -il
total 8
840388 -rwx------ 2 telson telson 67 2009-05-18 09:34 HardLink-file.txt
840388 -rwx------ 2 telson telson 67 2009-05-18 09:34 original-file.txt
840186 lrwxrwxrwx 1 telson telson 17 2009-05-18 09:23 SoftLink-file.txt -> original-file.txt

From the above example its clear that changing the permission of " original-file.txt " will update the permission set of " HardLink-file.txt ".
The soft link remains unchanged.

Now lets try deleting the original file.

Example:

:~/test$ rm original-file.txt
:~/test$ ls -il
total 4
840388 -rwx------ 1 telson telson 67 2009-05-18 09:34 HardLink-file.txt
840186 lrwxrwxrwx 1 telson telson 17 2009-05-18 09:23 SoftLink-file.txt -> original-file.txt

:~/test$ cat HardLink-file.txt
Learning about Hard and Soft Link
Editing this file to learn more!!

:~/test$ cat SoftLink-file.txt
cat: SoftLink-file.txt: No such file or directory

So removing the original file will affect the Soft link. The Soft link fails.
Hard link is unaffected.