如何在 Mac OS(或 Linux)上修改/打开文件而不更改上次修改/打开日期?

如何在 Mac OS(或 Linux)上修改/打开文件而不更改上次修改/打开日期?

我父亲去年去世了,所以我有几十个旧硬盘(都是 HFS+),里面有他所有的文件和照片。我想把所有东西都复制到一个驱动器/RAID(也是 HFS+,可能是 APFS)中,然后重新组织、重复数据删除并备份该单一阵列,以便所有文件都处于已知的安全状态。我想做所有这些没有更改任何文件或文件夹的“创建时间”、“上次修改时间”或“上次打开时间”。具体来说,我想:

  1. 移动/删除文件/文件夹,而不改变其包含文件夹的“上次修改”时间
  2. 移动/重命名文件/文件夹不发生改变他们自己的‘上次修改’时间
  3. 打开文件(检查和比较它们)而不改变他们自己的“上次打开”时间
    • macOS 中的 Finder 具有快速查看功能,这使我无需打开文件即可查看文件,但有时实际打开文件会很有帮助,因此欢迎提出其他想法
    • 仅打开文件时,以只读方式安装驱动器是一种选择,但打开文件后仍然需要移动文件,因此我必须重新安装,这是一个笨拙的解决方案

我没有列出将项目复制到目的地,因为我知道有方法可以在不更改任何数据的情况下复制文件(我想到了 rsync),这意味着插入驱动器、将整个文件 rsync 到文件夹中、弹出并重复这些操作应该不会太难。我还没有弄清楚如何做上面列出的这些事情,所以任何关于如何在不修改文件元数据的情况下移动、删除、重命名或打开文件的想法都将不胜感激。

答案1

好吧。这个答案的浏览量最近超过了 1000 次!哇!我觉得这有点奇怪/奇怪/好奇,因为在写这个答案的时候,它有一个赞成票,但没有答案……

显然有一个徽章可以解决这个问题,所以我收到了一条通知,让我重新注意到了这个老问题。所以我决定把它展示给一位同事,他有一个很好的想法,我想分享一下。

这可能不是“最佳”解决方案,并且需要一些工作来设置,但应该可以解决问题。

想法: 创建一个包含所有文件时间戳信息的日志文件,这样如果我进行修改,所有之前的时间仍然在该日志文件中。

即使我打开一堆东西或移动一些文件,只要知道我可以在文件中看到它们的原始时间戳就足够了,这可能就是我要做的全部。找出正确的命令来获取该信息并将其输入到文件中应该不太难。

和...

...理论上,应该可以从文件中解析出这些时间戳,并将它们重新应用于我打开过的文件或删除过项目的文件夹,这完全回答了我最初的问题。这部分可能需要更多工作才能完成,所以我不知道是否会这样做。但令人放心的是,有了记录原始时间戳的文件,理论上应该可以做到这一点。

相关内容