当您对 /mnt 中的文件建立硬链接,然后卸载时会发生什么?

当您对 /mnt 中的文件建立硬链接,然后卸载时会发生什么?

据我所知,文件被删除时硬链接不会中断。因为文件仍会存在。

但是,当您使用mount文件系统(/mnt例如,创建指向该卷上的文件的硬链接,unmount该卷,然后尝试打开该硬链接)时会发生什么?

答案1

您无法跨挂载边界创建硬链接。您将得到类似以下内容的结果:

ln: failed to create hard link ‘X’ => ‘Y’: Invalid cross-device link

答案2

是的,文件被删除后硬链接不会中断。因为文件仍会存在。

但从根本上来说,与不同文件系统上的文件建立硬链接是不可能的。

实际上,这意味着您无法创建指向不同文件系统上的文件的硬链接,并且在尝试时会出现错误。

那么,为什么这是不可能的呢?

硬链接就是您通常所说的文件。当在 中安装文件系统时,您会/mnt看到中文件系统上的/mnt/example.txt硬链接名称,它指向文件的数据。文件系统包含文件数据和文件名,用于访问数据的各个部分。从名称到数据有一个引用。此引用是硬链接。example.txt/mnt

创建硬链接意味着用新名称创建对同一文件数据的引用。

因此,硬链接是文件系统的核心部分,用于引用数据。这意味着无法建立指向不同文件系统的硬链接 - 因为它是不同的文件系统。

原则上,可以有一个文件系统跨越多个分区,并在添加时扩大/mnt。然后可以创建指向不同分区但位于同一文件系统中的硬链接,当卸载包含数据的分区时,该硬链接会中断。

由于这个原因,不仅无法创建到不同文件系统的硬链接,而且根据定义它甚至无法存在。强文本

相关内容