Any changes made to the original or Hard linked file will reflect the other.
Even if you delete any one of the files, nothing will happen to the other.
Hard links can't cross file systems.
Soft Link is a symbolic link to the original file. Soft Links will have a different Inode value.
A soft link points to the original file. If you delete the original file, the soft link fails. If you delete the soft link, nothing will happen.
Hard links can cross file systems.
Lets learn the difference with an example
Example: Create a file " original-file.txt "
Code: Select all
:~/test$ echo "Learning about Hard and Soft Link" > original-file.txt
:~/test$ cat original-file.txt
Learning about Hard and Soft Link
Example: HardLink-file.txt
Code: Select all
:~/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
Code: Select all
:~/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
Inode value is different for the soft link " SoftLink-file.txt ".
Now lets try editing the original file:
Example:
Code: Select all
:~/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!!
Example:
Code: Select all
:~/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
The soft link remains unchanged.
Now lets try deleting the original file.
Example:
Code: Select all
:~/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
Hard link is unaffected.