链接
创建链接的方式
- 创建硬链接
ln file link
- 创建符号链接
ln -s item link
item 可以是文件也可以是目录
硬链接
- 文件名本身就是一个硬链接,当创建额外的硬链接就相当与给文件又起了个名字
fun文件的第2个字段说明它有1个链接,文件至少有一个链接。
- 硬链接和文件本身没什么区别
这里我们创建了一个硬链接fun-hard。使用ls -i选项可以看文件的索引节点号,fun和fun-hard的索引节点号相同,证明二者是同一个文件。
- 删除任何一个硬链接不会删除文件本身,除非它是文件的最后一个硬链接
符号链接
硬链接的不足:
- 不能引用不在同一磁盘分区的文件
- 不能引用目录
符号链接是一种特殊的文件,它包含了指向目标文件或目录的文本指针。
- 符号链接类似于windows中的快捷方式,可以把它当作其指向的文件使用
- 删除文件后,指向该文件的符号链接依然存在,但是不指向任何文件,变成坏链接
- 符号链接其实就是保存了目标文件的地址(绝对地址或者相对与链接的地址)
可以看到第五个字段为6,这是符号链接的文件长度,其实就是“../fun”。
注意这里目标文件的地址是相对于创建的符号链接的,而不是相对于当前路径,因为这个地址是要保存在符号链接对应的文本文件的。
所以应该写成“../fun”而不是“./fun”。