为什么硬链接的文本可以链接,而图片却不行?图片就像不同的文件一样

为什么硬链接的文本可以链接,而图片却不行?图片就像不同的文件一样

我曾经mklink /H 2.txt 1.txt创建过 的硬链接1.txt。当我更改一个文件时,另一个文件也会更改。但是当我对 PNG 图像文件执行相同操作时,更改不会共享。也就是说,我对 所做的更改不会应用于2.png1.png这是怎么回事?我做错了什么吗?

在此处输入图片描述


附言:我怀疑当我编辑图像并按 Ctrl+S 时,图像编辑器(Microsoft Paint 和 Paint.NET)可能实际上会删除原始文件并创建一个同名的新文件,而不像记事本那样真正修改了原始文件。

答案1

不同之处在于您使用的程序更新文件的方式。

如果程序只是用新内容覆盖旧文本文件的内容,那么在 Windows 文件系统看来,该文件是相同的。在这种情况下,硬链接得以保留。

如果程序创建了新文件并删除了原始文件,则硬链接将被撤消(大多数图像编辑器都是这样工作的)。由于您是通过链接更新的,因此程序只删除了链接,因此原始文件未被删除。新图像文件不参与任何链接,因此您现在有两个文件,原始文件和修改后的文件。

答案2

在两个文件上运行fsutil file layout并比较“文件参考编号”(Windows 中相当于“inode 编号”)。如果保存后这些编号不同,则文件实际上不再是硬链接的 – 您有一个新的同名文件。

相关内容