Damn Vegetables Asked: 2021-08-31 11:25:57 +0800 CST2021-08-31 11:25:57 +0800 CST 2021-08-31 11:25:57 +0800 CST 为什么硬链接的文本是链接的,而图像不是?图像就像不同的文件 772 我曾经mklink /H 2.txt 1.txt创建一个硬链接1.txt。当我更改一个文件时,另一个文件也被更改了。但是当我对 PNG 图像文件做同样的事情时,更改并没有共享。也就是说,我所做的更改2.png并未应用于1.png. 这是怎么回事?我做错什么了吗? PS:我怀疑图像编辑器(Microsoft Paint 和 Paint.NET)在我编辑图像并按 Ctrl+S 时可能实际上删除了原始文件并创建了一个同名的新文件,这与实际修改原始文件的记事本不同. windows filesystems 2 个回答 Voted user1686 2021-08-31T12:00:03+08:002021-08-31T12:00:03+08:00 在这两个文件上运行fsutil file layout并比较“文件参考号”(Windows 相当于“inode 号”)。如果保存后这些数字不同,则文件实际上不再是硬链接 - 您有一个具有相同名称的新文件。 Best Answer harrymc 2021-08-31T12:10:39+08:002021-08-31T12:10:39+08:00 不同之处在于您使用的程序更新文件的方式。 如果程序只是用新内容覆盖了旧文本文件的内容,那么文件在 Windows 文件系统的眼中是相同的。在这种情况下,保持硬链接。 如果程序创建了一个新文件并删除了原始文件,那么硬链接将被撤消(大多数图像编辑器都是这样工作的)。由于您是通过链接更新的,所以程序只删除了链接,因此没有删除原始文件。新的图像文件不参与任何链接,因此您现在有两个文件,原始文件和修改文件。
在这两个文件上运行
fsutil file layout
并比较“文件参考号”(Windows 相当于“inode 号”)。如果保存后这些数字不同,则文件实际上不再是硬链接 - 您有一个具有相同名称的新文件。不同之处在于您使用的程序更新文件的方式。
如果程序只是用新内容覆盖了旧文本文件的内容,那么文件在 Windows 文件系统的眼中是相同的。在这种情况下,保持硬链接。
如果程序创建了一个新文件并删除了原始文件,那么硬链接将被撤消(大多数图像编辑器都是这样工作的)。由于您是通过链接更新的,所以程序只删除了链接,因此没有删除原始文件。新的图像文件不参与任何链接,因此您现在有两个文件,原始文件和修改文件。