如何以亚秒级精度设置 mtime?

如何以亚秒级精度设置 mtime?

我有一堆照片,是使用cp -a.由于某种原因,目标文件的 mtime 设置为当前时间,而不是源文件的 mtime。我尝试通过使用 Finder 复制文件来解决此问题,现在显然复制了 mtime,但精度仅为 1 秒,这在使用egls -ltr查看文件时混淆了文件的时间顺序。

我可以在原始文件上看到更高精度的 mtime。如何更高精度地设置目标文件的mtimes?touch -m -t $timestamp似乎只支持1秒精度。

答案1

由于您复制了文件,我建议您使用touch

touch -r ref-file target-file

如果通过 SMB 复制文件的原因是缺少tar包含所有文件内容的存档的本地磁盘空间,则可以使用以下方法仅复制包含时间戳的元数据star

star -c -dump -meta . > /tmp/meta.tar

创建tar亚秒粒度的存档,仅包含文件元数据。

现在将该tar存档复制到另一侧并仅提取元数据,保留文件内容不变:

star -x -meta < /tmp/meta.tar

请注意,如果您使用的是2018 年 5 月之前的-U过时版本,则在确定存档中的文件是否比磁盘上的文件更新时没有比较第二部分,那么您需要选项 ad 。starstar

相关内容