操作系统 — 浅析硬链接和软链接

 浅析硬链接和软链接





上一篇我们了解到文件系统,我们了解到文件系统的结构包括超级块,inode节点,以及数据块, 其中inode节点包含了inode数组,数组

当中存在许 多的inode节点.然后每一个文件或者目录都有自己对应的inode,其中我们又引出了其中每一个inode的节点当中有一个链接

计数,记录连接该inode 节点的目录项数. 最后引出两种链接方式! 分别为硬链接和符号链接(软链接)! 下图是一个文件系统的结构图

,以及运行过程. 如果对文件系统不够了解,我觉得你需要了解一下! 我这里有一个博客: 文件系统  你可以了解一下.




硬链接:文件A是文件B的硬链接,则A的目录项中的inode节点号与B节点的inode节点号相同,既一个inode节点对应两个不同的文件名,

两个文件名 指向一个同一个文件,A和B对于文件系统其实是完全相同的. 如果删除了其中一个,对另外一个没有影响. 每增加一个文件

名,inode节点上的链接 数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应数据块被回收. 

对应上图你就可以理解硬链接的过程


软链接: A是B的软链接,A的目录项中的inode节点号与B的目录项中的inode节点号不同,A和B指向的是两个不同的inode,继而指向两块

不同的数据 块,但是A的数据块存放的知识B的路径名. A和B之间 "主从"关系,如果B被删除了,A仍然存在,但指向的是一个无效的链接.


硬链接的特点:

1.不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环,存在环的后果会导致例如文件遍历等操作的混乱.

2.不能对不同的文件系统创建硬链接,既两个文件名要在相同的文件系统下.

3.不能对不存在的文件创建硬链接,由原理即可知真相.

软链接的特点:

1.可以对目录创建软链接,便利操作会忽略目录的软链接.

2.可以跨越文件系统.

3.可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了.

硬链接: ln 源文件名 链接名
软链接  ln -s 源文件名 链接名

硬链接和软链接的作用:

硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止"误删"的情况, 只删除一个连接并不

影响节点 本身和其它的链接,只有当最后一个连接被删除后,文件的数据块以及目录的连接才会被释放. 也就是说,文件真正删除的条

件是与之相关的所有 硬链接文件均被删除。

软链接的作用:对于符号链接以及它指向何种对象并无任何文件系统限制,任何用户都可以创建指向目录的符号链接. 引入符号链接的原

因就是为 了避开硬链接的一些限制.软链接文件类似于windows的快捷方式.它实际上是一个特殊的文件. 在符号连接中,文件实际上是

一个文本文件,其中包 含的有另一文件的位置信息.
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值