深刻理解软硬件链接
深刻理解软硬件链接
- 1 软链接
- 2 硬链接
- 3 理解软硬链接
- 4 软硬链接的使用场景
1 软链接
1、命令:ln -s file.txt file-soft.link
软链接本质上是独立的新建文件(在用户层,软链接的文件与原本文件具有相同的效应),我们可以将其理解为win上的快捷方式
2 硬链接
硬链接本质不是独立文件
3 理解软硬链接
1、软链接有独立的inode,软链接内容上保存的是目标文件的路径(win下的快捷方式)
2、硬链接不是独立文件,无独立inode,本质上是文件名和以及存在的文件的映射关系
3、硬链接权限后面的数字叫做inode的引用计数(硬链接数)
4 软硬链接的使用场景
1、软(目录也可以建立软链接):
让我们的程序不带 ./ 就能使用前面已经介绍过很多方法了,这里介绍一种–建立软链接在user/bin目录下
删除软链接
2、硬链接
现在我们创建了一个目录和一个文件,默认文件硬链接数是1,这个没什么问题,但是目录默认却是2,并且我们在该目录下又建一个目录,链接数又变成3了?
我们之前不是学过隐藏文件. 和 … ,之前我们只知道 . 代表自己,但我们不知道为什么,今天就可以给大家解释了 . 其实就是对自己的一个硬链接,所以目录默认为2,新建目录为什么变为3? 是因为dir目录中还有一个 … ,它也指向该目录
需要注意的是 根目录下的 … 是被特殊处理的,并不是指向自己.
硬链接也可以用作硬链接,当我们删除时只删除的一个引用计数,只要不完全清空,就可以使用文件。
linux中,不允许对目录新建硬链接(可能会出现环状链接)