我有一堆照片从OS复制到使用cp -a
的Linux系统上的Samba挂载。由于某种原因,目标文件的mtime被设置为当前时间,而不是源文件的mtime。我试图通过使用Finder复制文件来弥补这一点,现在mtime显然被复制了,但是只有1秒的精度,这就混淆了使用例如ls -ltr
查看文件的时间顺序。
我能在原始文件上看到更高精度的多倍。如何以更高的精度在目标文件上设置mtime?touch -m -t $timestamp
似乎只支持1秒的精度。
发布于 2019-12-28 15:01:39
既然您复制了这些文件,我建议您使用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
请注意,您很好地需要-U
选项,如果您使用的是star
的过时版本,因为在2018年5月之前,star
在决定存档中的文件是否比磁盘上的文件更新时并没有比较子第二部分。
https://unix.stackexchange.com/questions/559283
复制相似问题