目录
一、软链接
软链接就相当于Windows里的快捷方式,里面放的是目标文件的路径。
用【 ln -s 目标文件名 软链接文件名 】可以 建立软链接
二、硬链接
1、普通文件
硬链接可以看做为目标文件起一个别名。本质是在指定目录下,插入新的文件名和目标文件的inode的映射关系,并且++inode的引用计数。
当我们删除一个文件时,就让引用计数--,只有当引用计数减到0,才会真正删除该文件。 用【 ln 目标文件名 硬链接文件名 】可以 建立硬链接
2、目录
我们不能手动给目录建立硬链接,因为如果给目录建立了硬链接,系统进行深度搜索时会造成死循环的问题。只有系统自己能建立硬链接(它自己可以识别)
那为什么我们刚创建的 dir 的引用计数是 2 呢,因为除了 dir 外,在 dir 目录下还有 [ . ] 表示当前目录,这就是 dir 的硬链接文件。
如果dir目录下还有其他的目录,那么引用计数还会++,因为dir的子目录下有 [ .. ] 表示上级目录,也是dir的硬链接。因此,我们可以用(引用计数 - 2)计算目录下有多少个子目录。