gpt4 book ai didi

linux - 为什么 atime 不保存在 tar 中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:30 24 4
gpt4 key购买 nike

根据documentation , tar 能够保存访问时间,但是当我尝试同样的操作时,它却失败了。有人可以解释一下吗?

$$$:~/user1/testtar/source> tar --version
tar (GNU tar) 1.15.1

创建两个具有旧时间戳的文件

$$$:~/user1/testtar/source> touch -t "201501010101" a.txt
$$$:~/user1/testtar/source> touch -t "201501010101" b.txt

$$$:~/user1/testtar/source> ls -ltu
-rw-r--r-- 1 usr usr 0 2015-01-01 01:01 a.txt
-rw-r--r-- 1 usr usr 0 2015-01-01 01:01 b.txt

移动到另一个文件夹

$$$:~/user1/testtar/source> tar --atime-preserve -cvpf archive.tar *
$$$:~/user1/testtar/source> mv archive.tar ../target/
$$$:~/user1/testtar/source> cd ../target/

解压包

$$$:~/user1/testtar/target> tar --atime-preserve -xvpf archive.tar
a.txt
b.txt

$$$:~/user1/testtar/target> ls -lt
total 12
-rw-r--r-- 1 usr usr 10240 2016-07-07 15:55 archive.tar
-rw-r--r-- 1 usr usr 0 2015-01-01 01:01 a.txt
-rw-r--r-- 1 usr usr 0 2015-01-01 01:01 b.txt

结果

$$$:~/user1/testtar/target> ls -ltu
-rw-r--r-- 1 usr usr 10240 2016-07-07 15:56 archive.tar
-rw-r--r-- 1 usr usr 0 2016-07-07 15:56 a.txt
-rw-r--r-- 1 usr usr 0 2016-07-07 15:56 b.txt

最佳答案

引用的手册页令人困惑。它说的是 --atime-preserve

preserve access times on dumped files [...]

(强调已添加),the current docs

Preserve the access times of files that are read."

(强调)。 “转储”一词是指将文件放入 tar 存档中,而不是将文件提取到文件系统中。因此,--atime-preserve 选项用于归档文件而不会使原件的 atimes 反射(reflect)访问。这对于支持进行增量备份(转储)很有用。

在任何情况下,tar 都不会未能设置它提取的文件的时间,这与您的预期相反。它肯定不能给它们与原始文件相同的时间,因为 tar 文件格式甚至不记录时间。

关于linux - 为什么 atime 不保存在 tar 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38248993/

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