软链接与硬链接

软链接与硬链接

软链接可以跨越文件系统边界是什么意思?这是否意味着我可以在 ext3 上创建到 ext4 文件系统上的文件的软链接?

另外,虽然我理解(至少我希望)软链接与硬链接之间有什么区别(根据我的理解,第一个类似于 MS Windows 快捷方式,并且快捷方式/指针将给出唯一的索引节点号,所以虽然访问软链接它实际上会调用链接的文件,对吗?)

而硬链接将一个或多个文件与单个 inode 号关联起来,使所有文件彼此无法区分。所以实际上就像有两个将复制的实际文件(从链接文件到链接文件),这是正确的吗?

答案1

软链接在某种程度上是一个文本文件,它告诉操作系统它链接到的文件在哪里。例如,“我指向 /root/somefile”。它们在目录树上显示位置,因此它们可以跨越文件系统边界 - 它们不关心文件系统,而是位置。所以是的,您可以从 ext3 指向 ext4。

硬链接共享相同的索引节点 - 它们指向硬件位置,而不是“软件”(目录树)。这意味着如果您尝试在 ext3 和 ext4 之间建立硬链接,那么您会遇到一些问题 - 这些文件系统不同,因此它们无法共享 inode。

此外,硬链接本质上是同一个文件,而软链接则不是。后果是,如果删除原始文件但保留软链接,则该文件消失并且软链接被破坏。如果删除原始文件并保留硬链接,该文件将保留在光盘上,因为硬链接是相同文件。

相关内容