一、基本概念
(1)软链接
:指的是指向原始文件的实际链接,也称为符号链接,有点类似于 Windows 的快捷方式。在软链接中存放的不是具体的文件数据,而是所链接的原始文件的路径名,当打开软链接的时候,则会根据这个路径去找到并打开所链接的原文件。编辑软链接的文本就是在编辑软链接所链接的原文件的文本,如果所链接的原文件被删除了,这个软链接就找不到当初所链接的原文件,就成了无效的链接,这时再次打开软链接就会提示将创建一个新的原文件。删除软链接不会影响到所链接的原文件。
(2)硬链接
:就好比创建了一个原文件的副本,硬链接文件与原始文件的inode信息块以及文本内容都是一样的, 只是文件名字不同。由于硬链接文件与原始文件的inode是相同的,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,所以不管是编辑硬链接文件还是原文件,保存之后两者显示的文本内容都是相同的,但是删除其中任何一个都不会影响另外一个的访问,因此只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
二、创建命令
ln 【选项】 原文件 链接文件
-s 创建符号链接(软连接),如果不带这个参数,就是创建硬链接
-f 强制创建文件或目录的链接
-i 覆盖前先询问
-v 显示创建链接的过程
1.创建一个软链接
ln -s test.txt test1.txt
2.创建一个硬链接
ln test.txt test2.txt
三、软链接与硬链接的特征
软链接:
- 每个软链接都拥有自己的inode节点和block块。
- 软链接不保存实际的数据,只保存原始文件的路径。
- 通过软链接打开或者编辑文件其实操作的就是所链接的原文件。
- 不管是通过编辑原文件还是通过其软链接去编辑文件,该原文件下的其他软链接打开的文件都随之改变。
- 软连接的文件类型标志为:
l
,软链接的权限都为rwxrwxrwx。 - 删除原文件,其对应的软链接都不能使用,将会称为无效链接。
- 删除其中任一的软链接文件,原文件以及该原文件下的其他软链接文件依然可用。
硬链接:
- 同一原文件创建的多个硬链接inode节点和block块都与原文件一样,可以看做同一个文件,只是文件名不同。
- 编辑其中的任一文件,其它文件都会随之改变。
- 删除其中任一的文件,都会不影响到其他文件,除非把相关联的所有文件都删除,那么这个文件才会被删除。
- 硬链接不能跨分区使用。
- 硬链接不能针对目录使用。