gpt4 book ai didi

tar -cf 不保留确切的修改时间

转载 作者:行者123 更新时间:2023-12-03 22:41:45 26 4
gpt4 key购买 nike

使用 -c 创建 tar 存档时,修改时间似乎在变化,特别是它切断了小数点后的时间,让 modtime 只是它原来的整数值。

注意:
``

[localhost] $ mkdir test
[localhost] $ stat test
File: ‘test’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Modify: 2016-07-18 17:01:33.116807520 -0400 # <------ Notice exact time
[localhost] $ tar -cf test.tar test
[localhost] $ tar -xf test.tar
[localhost] $ stat test
File: ‘test’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Modify: 2016-07-18 17:01:33.000000000 -0400 # <------ Notice how time is rounded

(为了可读性,我从 stat 的输出中删除了不相关的部分)

我咨询过 man tar ,但找不到以纳秒为单位保留精确修改时间的选项。有人可以解释为什么会发生这种行为吗?或者这是在 tar 创建期间预期的。

更新:到目前为止没有运气,我尝试玩弄 tar选项,但大多数处理时间的选项都与文件的访问时间有关,而不是 modtime。处理 modtime 的那些会更改 modtime,这不是我要找的东西。

最佳答案

以防万一有人在谷歌上搜索同样的问题时偶然发现这个线程(就像我做的那样):

解决方案(至少其中之一)是使用 -H选项,如这里的回答:

https://unix.stackexchange.com/questions/397130/tar-how-to-preserve-timestamps-down-to-more-than-a-second-of-precision/397132#397132
tar(1)联机帮助页没有指出 -H 的实际含义。根本没有论据;我认为,如果搜索一个可能的关键字( "nanosecond""second""resolution" 等)导致了 -H 上的段落,那将会非常有帮助。 .

关于tar -cf 不保留确切的修改时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38440158/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com