Linux的软硬连接

目录

见一下软硬连接

特征

 什么是软硬连接,有什么用

软连接有什么用

硬连接有什么用 

总结 


见一下软硬连接

建立一个软连接

 建立硬连接

特征

1. 软连接是一个独立的文件,因为有自己的inode号,由上图可知;

软连接的内容目标文件所对应的路径字符串(linux中路径具有唯一性);所以以后找到一个文件可以通过软连接找到指定的文件;
它类似于windows中的快捷方式;删除软连接不会影响目标文件,就像在windows界面中删除快捷方式不影响程序;但是如果把目标文件删掉那么软连接就没用了;

 删除目标文件,可以看到软连接在高闪,并且cat也没用了因为目标文件已不在

2. 硬连接不是一个独立的文件,因为你没有一个独立的inode号,你用的是目标文件的inode号;

硬连接就是一个文件名和inode的映射关系,建立硬连接就是在指定目录下,添加一个新的文件名和inode number 的映射关系!
所以硬连接根本就没有新建文件,所以就不可能有自己的inode,没有inode就绝对没有数据块,所以说白了硬连接就是在当前目录下新建一个文件名和inode的映射关系!

目标文件的inode number和硬连接的inode number就跟指针一样,指向同一个文件属性,所以文件的引用计数为2;当删除一个映射关系后只有一个指向,所以为1;

可以理解为重命名

3. 属性中有一列硬连接数;

文件的磁盘级引用计数:有多少个文件名字符串通过inode number 指向我(inode)

注意:inode number和inode不一样 ;

删除连接可以用rm也可以用unlink filename

 什么是软硬连接,有什么用

软连接有什么用

使用软连接可以快速达到一个路径比较深的文件;

那么就能理解软连接为什么包含路径?

因为我们知道路径具有唯一性,给我对应的路径就可以让系统对路径进行解析从而找到对应的文件;

硬连接有什么用 

任何一个目录,刚开始新建的时候,引用计数一定是2;在a空目录里面再新建一个b空目录,会使得a空目录的引用计数+1,那么求一个目录内部有几个目录:a目录的引用计数-2;

 那么就可以得出在根目录下有22个子目录

其次硬连接可以做备份; 

在Linux中不允许给目录创建硬连接:避免形成路径环绕


总结 

我们知道定位一个文件只有两种方式:

1. 通过路径(理解为软连接)

2. 直接找到目标文件的inode(理解为硬连接)

但是最终还是要通过inode number的

 文件:

 1. 打开的文件------内核,内存有关

 2. 没有被打开的文件------磁盘,文件系统有关

 我们知道我们的文件分为文本写入和二进制写入:但是我们写入的时候没有管什么形式。其实从操作系统上来讲都是二进制。那么文本写入是什么意思呢?是语言层面上的概念,那么我从磁盘上读的二进制是怎么变为文本内容的呢?就是语言层上提供的缓冲区给我们解释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangsir.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值