软连接和硬连接的区别

1.  硬连接

文件系统以Inode号为标识,而同时也提供可读性强的字符串作为文件的标识。对应关系如下面这样:

                 

当我们在利用名字操作文件时,文件系统会转换为Inode进行操作。那么硬连接就是有不止一个名字对应于Inode。底层文件系统看来还是一个文件实体和一个Inode。如下图所示:     


示例:

图中,一开始创建了一个orgin文件,写入字符串“hello”, 随后,又有一个叫sec的文件链接上来了。使用命令  ls -i 查看,发现Inode编号一致,如下所示:

此时,修改文件内容:

状态则如下图所示:

2. 软连接

软连接是将一个文件的绝对路径写入另外一个文件中,软连接是文件系统中除了普通文件,目录外的第三类文件,软连接的文件内容存放着原文件的路径,如下图软连接文件的内容与原文件名name1对应。如下图所示:

 

操作:

创建了一个叫softlink的软连接链接到orgin文件,该软文件类型是 'l '(最左侧的字母,与此对应的是普通文件用 '-', 目录文件用 'd' ), 它的长度为5 (见下文解释),使用cat程序时,返回的是原文件的内容,而此时的状态是:

这时候,如果通过软连接修改文件的话,从上面可以看出,原文件会同步修改。如果删除原文件,会导致软连接失效,成为断链(dangling reference)。

此外,查看软连接内容用readlink:

至于,现在终于知道为什么显示软连接的文件长度是5(见上文)了, 因为它存放的内容是 "orgin", 长度为5。本次实验的软连文件和原文件是在一个目录下,那么,如果存放在不同的目录下,软连接文件的内容和文件长度是什么样子的呢?我想你心中已经有答案了,去验证吧~

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值