一、定义:
软链接(特殊文件类型)属于liunx文件类型的一种,软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。
硬链接(hard link,也称链接)就是一个文件的一个或多个文件名。所谓链接无非是把文件名和计算机文件系统使用的节点号链接起来。因此我们可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。
二、区别:
-
本质:软链接:软链接和源文件不是同一文件,软链接这个文件包含了另一个文件的路径名,软链接类似于源文件的快捷方式;
硬链接:硬链接和源文件是同一文件, 硬链接可以理解成是源文件的小名;
所以硬链接和源文件的节点号相同,软链接有自己的节点号。
-
工作原理:软链接:软链接文件记录了源文件的路径,通过路径找到源文件,然后读取源文件属性,根据inode找到存放源文件的块,读取内容后显示; 硬链接:硬链接直接通过源文件的inode读取内容。
-
删除源文件:源文件内容删掉后,硬链接不受影响(只是硬链接次数的改变),软链接看不到,类似于windows原文件删除后,快捷方式不起作用。
-
软链接和硬链接文件查看的内容都是源文件。
-
删除源文件后再创建:硬链接不受影响,软链接读取的是新创建文件的内容。
-
更改源文件内容后,软链接和硬链接查看到的是更改后的。
-
创建方式:ln 源文件 链接文件名称(默认情况创建硬链接--a.hard,创建软链接--a.soft ln -s 源文件 链接文件名称 )
-
文件大小:
硬链接:和原文件相同;
软链接:原文件的路径的长度。
如上图所示:硬链接和源文件的节点号相同,软链接有自己的节点号;
软链接a.soft记录了a文件的路径通过路径找到a,根据其节点号查看内容;硬链接a.hard则直接通过a节点号读取内容;
a文件删除后a. hard还能继续访问this内容;而a.soft 在根据路径寻找a文件时失败;
创建新文件a后,硬链接还是读取的源文件a的this内容,而a.soft则读取新内容。
三、实验结果:
- 创建文件a,填入内容:
2、创建软硬链接:
如图软硬链接已被创建,a.hard与a文件类型相同,均为 - ,软链接不同;
如图所示说明了硬链接和源文件的节点号相同,软链接有自己的节点号;软链接和硬链接文件查看的内容都是源文件内容;
3、更改不同文件内容后,其他文件的变化:
如图所示证明了无论更改源文件内容还是软硬链接文件内容,其他文件内容都随之改变;
4、删除文件:
如图删除a文件后a.soft 访问不到a文件内容,a.hard则可以继续访问;
5、创建新文件:
如图所示创建新文件a,硬链接不受影响,软链接读取的是新创建文件的内容。节点号则各不相同。