使用-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
选项,但大多数处理时间的选项都与文件相关&#39;访问时间,而不是modtime。那些处理modtime的人改变 modtime,这不是我正在寻找的东西。
答案 0 :(得分:1)
万一有人在谷歌搜索同一个问题时偶然发现这个问题(就像我做的那样):
解决方案(至少其中一个)是使用-H选项,如下所示:
tar(1)联机帮助页没有指出-H参数的实际含义;我认为,如果搜索可能的关键字(&#34;纳秒&#34;,&#34;第二&#34;,&#34;解决方案&#34;等)导致该段落的话,将会非常有用-H。