当前位置: 首页 > Linux

【译文】硬链接和软链接的区别

时间:2023-04-06 19:28:52 Linux

原文摘自:what-is-the-difference-between-a-hard-link-and-a-symbolic-link一张图顶一千字。兔子的例子。创建两个新文件:touchblah1touchblah2添加内容echo"Cat">blah1echo"Dog">blah2查看添加的内容:catblah1;catblah2CatDog创建硬链接和软链接lnblah1blah1-hardln-sblah2blah2-soft检查我们创建了什么ls-lblah1blah1-hardblah2blah2-soft->blah2修改blah1的名称没有效果mvblah1blah1-newcatblah1-hardCatblah1-hard指向inode,所以文件内容保持不变。mvblah2blah2-newlsblah-softblah2-softcatblah2-softcat:blah-soft:Nosuchfileordirectory找不到文件的内容,因为软链接是指向的名字,名字已经被修改了,所以找不到相应的文档。所以:blah1被删除了,但是blah1-hard仍然有内容。blah2已被删除,但blah2-soft是指向不存在的文件的链接。补充:硬链接不能跨越文件系统。为什么?硬链接共享相同的inode-它们指向硬件位置,而不是目录树。这意味着如果您尝试在ext3和ext4之间建立硬链接,您将遇到一些问题-这些文件系统不同,因此它们无法共享索引节点。