linux下软连接与硬链接的本质区别 - Go语言中文社区

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;
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/daiyudong2020/article/details/52096740
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-30 08:57:13
  • 阅读 ( 2770 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢