一篇好文章价值一千多篇文章。 因此,我只是在这里进行“复制粘贴”。
基本上,硬链接就像是指向它所指向文件内容的真实指针,而不管对引用文件的操作或硬链接所链接的文件如何。 相反,软链接或符号链接指向文件的名称,或者它引用该文件的名称,并且一旦删除或移动了所引用的文件,符号链接将不会知道更改,并且它将知道仍指向原始文件名,该文件名可能已被删除或移动。
http://askubuntu.com/questions/108771/what-is-the-difference-between-a-hard-link-and-a-symbolic-link
“一张图片胜过千言万语。”

而且,“一个例子值得一百段……”
创建两个文件:
$ touch blah1
$触摸blah2
在其中输入一些数据:
$ echo“猫”> blah1
$ echo“狗”> blah2
和预期的一样:
$ cat blah1; 猫blah2
猫
狗
让我们创建硬链接和软链接:
$ ln blah1 blah1-hard
$ ln -s blah2 blah2-soft
让我们看看发生了什么:
$ ls -l
等等
blah1-hard
等等
blah2-soft-> blah2
更改blah1的名称无关紧要:
$ mv blah1 blah1-new
$ cat blah1-hard
猫
blah1-hard指向文件的索引节点(即内容),但未更改。
$ mv blah2 blah2-new
$ ls blah2-soft
blah2-soft
$ cat blah2-soft
猫:blah2-soft:没有这样的文件或目录
找不到文件的内容,因为软链接指向已更改的名称,而不是内容。
同样,如果删除blah1,则blah1-hard仍保留内容; 如果blah2被删除,则blah2-soft只是指向不存在文件的链接。