Linux连接文件ln

硬连接是通过文件系统的inode连接来产生新文件名,而不是产生新文件
如为filename创建一个硬连接文件filename_hardlink:
硬连接
如上图,因为硬连接产生不同的文件名都指向相同的inode,所以修改任意一方的属性或block数据,其他文件访问到的数据也联动改变了

x先做一个硬连接的测试:
先创建一个新文件:
创建文件
再创建该文件的一个硬连接:
(可能因为缓存的原因,所以总量和inode的使用量和上图有出入)
创建硬连接

我们可以看到硬连接创建的本质就是在file-inode映射表多了一条数据,并且使文件连接数加1,而实际并不产生新的inode和block。
这样的话,rm操作删除文件,无非也就是移除file-inode映射表里面的内容,即把文件的连接数减1,而实际的文件数据依然存在,只有当文件的连接数减到0,实际的文件数据才会被删除。
但是硬连接有两个局限:
1.不能跨文件系统
2.不能对目录创建硬连接

关于连接数的拓展:
当新建一个目录时,新目录的连接数为2,上一层的目录连接数会增加1。
因为新目录创建会产生...两个文件,而
/newDir/newDir/.指向的是同一个inode
/newDir/../也指向的是同一个inode

软连接(symbolic link或叫符号连接)

软连接类似windows系统的快捷方式功能的文件,可以快速连接到目标文件或目录
symbolic link与hard link 不同,symbolic link会创建一个独立的文件,即会产生新的inode和block,而该block的数据指向原文件的文件名
具体如下图:
这里写图片描述
所以当原文件删除之后,symbolic link文件打不开,其实就是symbolic link文件的block指向源文件的连接断了(或者说找不到源文件名)
关于symbolic link的操作测试:
软连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值