每次我编辑文件时,我的计算机都会保存它们并更改文件的创建日期,但我想保留每个文件的创建日期。该怎么做?
答案1
我无法重现该问题,但我可以解释一下。为了避免在保存文档的过程中出现错误,许多程序使用某种“安全”或“原子”安全过程。基本上,它们将新数据保存在临时名称下的新文件中,然后删除原始文件并将临时文件重命名为原来的文件。最终结果是,虽然看起来文件只是被修改了,但实际上它被一个看起来相似但实际上全新的文件替换了。
这意味着新文件实际上是在保存更改时创建的。但通常情况下,保存过程会从旧文件中复制创建日期,并将新文件的创建日期设置为相同。可能由于某种原因,此步骤(基本上是伪造新文件的创建日期)在您的系统上不起作用。
以下是其工作原理的示例。我在 Word 中创建了一个新文件,然后使用以下命令检查其统计信息stat
:
$ stat -f 'inode: %i, create: %SB, mod: %Sm' test.docx
inode: 12909090453, create: Nov 26 00:12:10 2022, mod: Nov 26 00:12:11 2022
然后我在 Word 中更改了该文件,再次保存,并重复该stat
命令:
$ stat -f 'inode: %i, create: %SB, mod: %Sm' test.docx
inode: 12909090661, create: Nov 26 00:12:10 2022, mod: Nov 26 00:13:31 2022
请注意,创建日期是相同的(即,这没有显示您看到的问题),修改日期已更改。 inode 编号(基本上是磁盘上哪个文件的标识符)也已更改。新的 inode 是您判断文件已被替换的方式,而不仅仅是更改了其内容。
至于为什么这对你不起作用,我不知道。这些文件是否存储在其他文件系统上(例如网络服务器、非 Apple 格式的外部驱动器或类似的东西)?