Linux软硬链接的区别

先上硬菜:
推荐学习资源 https://www.ibm.com/developerworks/cn/topics/

Linux内对于文件的共享使用方式:1 硬连接 hard link 、2 软链接soft link
链接为系统带来了隐藏文件路径、增加权限安全、节省存储空间的好处。
灵魂示意图:
在这里插入图片描述
metadata 文件元数据:记录文件附加属性,如文件大小、创建时间、类型…
inode 是元数据的一部分,表示索引节点号,是真正的文件唯一标识。
可以通过,stat 或者ls -i 终端命令查看iNode号。
user data :文件实际数据块 data blocks。

硬链接:

本质就是多个文件名使用了同一个inode,所以用户文件数据也是一份。
创建:

link oldfile newfile 
ln oldfile newfile

硬链接特点:

  • 多个文件具有相同的inode,公用一份data block。
  • 创建时,原文件必须存在。
  • 不能交叉文件系统进行创建,不能对目录创建硬链接。
  • 一个文件的删除,不会影响其他文件(相同inode)。

文件存在时,inode存在且链接计数器 link count 不为0。此时方可创建硬链接。
硬链接不可以跨越文件系统。inode在各文件系统下是唯一的,多个文件系统下,inode号有重复现象。
inode号码数量有限,如果inode用完了,磁盘可能剩余部分空间不能使用。
硬链接不能对目录进行创建。文件系统设计为当前目录内存在隐藏目录:当前目录(.)和父目录(…)。如果允许创建硬链接,则递归出目录环。

软连接:

软连接示意图:
在这里插入图片描述
软连接存在自己的inode号以及用户数据块data block。软连接就是一普通的文件,只是数据块内容是 另一文件的路径名的指向。
软连接特点:

  • 软链接有自己的文件属性、权限、inode等;
  • 可对 不存在 或 存在 的文件和目录创建软链接;
  • 软链接可交叉文件系统;
  • 创建软链接时,链接计数不会增加;
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值