在我看来,文件(如我在文件资源管理器中看到的)基本上是指向实际数据的硬链接。当我将其移动到另一个目录时,数据也会移动到该位置。如果我将第二个硬链接移动到不同的目录,实际数据会发生什么情况?它将保存在两个硬链接中的哪一个位置?
答案1
仔细想一想,我认为事情是这样的:
只要文件有多个硬链接,实际位置就无关紧要。当任何硬链接移动时,文件也可能会移动,但由于它们是 INode,即使删除其中任何一个,它们也始终指向硬盘的正确内部位置。
编辑:实际上它们可能根本没有被移动,这就是为什么移动操作几乎是即时的(在同一个逻辑磁盘内),而不是复制。如果我们想“证明”某个概念,即哪个文件实际上是在不同磁盘之间移动的,这是行不通的,因为
- 硬链接不能跨不同的逻辑或物理磁盘引用
cut
如果我们仍然尝试通过选择和paste
来将其中一个硬链接复制到另一个驱动器(从 C: 复制到 D:)move
(而不是复制它),数据仍然没有其他选择,只能在目标位置实际创建D:
并删除所选的移动硬链接(从C:
)。但第一个硬链接仍然存在于 中C:
,因此 C: 中的实际数据将保留,所以我们最终会得到两个不同的独立副本。
因此,确切位置取决于以下因素
- 文件系统(ext4、btrfs、NTFS……)
- 碎片化
- 磁盘类型
- 肉体腐败
- 编写程序
- 空管..