哪个硬链接决定文件的实际位置?

哪个硬链接决定文件的实际位置?

在我看来,文件(如我在文件资源管理器中看到的)基本上是指向实际数据的硬链接。当我将其移动到另一个目录时,数据也会移动到该位置。如果我将第二个硬链接移动到不同的目录,实际数据会发生什么情况?它将保存在两个硬链接中的哪一个位置?

答案1

仔细想一想,我认为事情是这样的:

只要文件有多个硬链接,实际位置就无关紧要。当任何硬链接移动时,文件也可能会移动,但由于它们是 INode,即使删除其中任何一个,它们也始终指向硬盘的正确内部位置。

编辑:实际上它们可能根本没有被移动,这就是为什么移动操作几乎是即时的(在同一个逻辑磁盘内),而不是复制。如果我们想“证明”某个概念,即哪个文件实际上是在不同磁盘之间移动的,这是行不通的,因为

  1. 硬链接不能跨不同的逻辑或物理磁盘引用
  2. cut如果我们仍然尝试通过选择和paste来将其中一个硬链接复制到另一个驱动器(从 C: 复制到 D:)move(而不是复制它),数据仍然没有其他选择,只能在目标位置实际创建D:并删除所选的移动硬链接(从 C:)。但第一个硬链接仍然存在于 中C:,因此 C: 中的实际数据将保留,所以我们最终会得到两个不同的独立副本。

因此,确切位置取决于以下因素

  • 文件系统(ext4、btrfs、NTFS……)
  • 碎片化
  • 磁盘类型
  • 肉体腐败
  • 编写程序
  • 空管..

当我们在 Windows 中保存文件时 - 硬盘上文件的实际位置是随机的还是确定的?

相关内容