首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我怎样才能把时间设定为亚秒级的精度?

我怎样才能把时间设定为亚秒级的精度?
EN

Unix & Linux用户
提问于 2019-12-28 14:40:23
回答 1查看 291关注 0票数 -1

我有一堆照片从OS复制到使用cp -a的Linux系统上的Samba挂载。由于某种原因,目标文件的mtime被设置为当前时间,而不是源文件的mtime。我试图通过使用Finder复制文件来弥补这一点,现在mtime显然被复制了,但是只有1秒的精度,这就混淆了使用例如ls -ltr查看文件的时间顺序。

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

EN

回答 1

Unix & Linux用户

发布于 2019-12-28 15:01:39

既然您复制了这些文件,我建议您使用touch

代码语言:javascript
运行
复制
touch -r ref-file target-file

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

代码语言:javascript
运行
复制
star -c -dump -meta . > /tmp/meta.tar

创建一个只包含元数据的亚第二粒度的tar存档。

现在,将该tar存档复制到另一边,只提取元数据,使文件内容保持原样:

代码语言:javascript
运行
复制
star -x -meta < /tmp/meta.tar

请注意,您很好地需要-U选项,如果您使用的是star的过时版本,因为在2018年5月之前,star在决定存档中的文件是否比磁盘上的文件更新时并没有比较子第二部分。

票数 -1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/559283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档