linux下软连接与硬链接的本质区别



软连接跟硬链接最大的区别在于:

1.文件A和文件B的inode号码一样,对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)。

2.文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接(symbolic link)


3.对源文件、硬链接、软连接修改均会影响文件内容,因为本质上是修改了同一块内容。删除硬链接、软连接均不会影响源文件的读写。


现在有一个文件test,内容是"abcd",对这个文件分别进行以下操作,并通过 ls -i命令查看inode

创建硬链接test_y




创建软连接test_r




删除源文件test,试图读硬链接test_y与软连接test_r




参考文章: http://www.ruanyifeng.com/blog/2011/12/inode.html




End;
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中,软链接(symbolic link)和硬链接(hard link)是两种不同的文件链接方式,它们有以下区别: 1. 软链接是一个指向目标文件或目录的文件,类似于Windows系统中的快捷方式。软链接文件有自己的inode,并且可以跨文件系统进行链接。删除软链接文件不会影响目标文件或目录。软链接可以通过`ln -s`命令创建。 2. 硬链接是一个指向目标文件的目录项,它与目标文件具有相同的inode和数据块,实际上是同一个文件的不同名称。硬链接只能在同一个文件系统中创建,并且不能链接目录。删除任何一个硬链接都不会影响其他硬链接,只有当所有硬链接都被删除后,才会释放目标文件的空间。硬链接可以通过`ln`命令创建。 3. 软链接可以指向目录,而硬链接不能。 4. 修改目标文件内容时,软链接和硬链接都会反映出修改后的内容。但是,如果删除了目标文件,在软链接中仍然可以访问到目标文件的内容,而硬链接将无法访问。 5. 软链接相对于目标文件具有更高的灵活性,可以跨越文件系统和目录,但是由于需要额外的inode和数据块进行存储,占用更多的空间。硬链接没有这些限制,但是只能在同一个文件系统中使用。 总结起来,软链接是一个指向目标文件或目录的文件,而硬链接是目标文件的另一个名称。软链接可以跨文件系统和目录,而硬链接只能在同一个文件系统中使用。删除目标文件后,软链接仍然可以访问,而硬链接将无法访问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值