2016-07-07 54 views
0

根據documentationtar是能夠保存訪問時間,但是當我嘗試相同時,它沒有這樣做。有人可以解釋這個嗎?爲什麼一時沒有保存在焦油?

$$$:~/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/ 

提取tar

$$$:~/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 

回答

3

引用的手冊頁很混亂。凡說的--atime-preserve

保留訪問時間上傾倒文件[...]

(強調),the current docs

保留訪問時間文件,這些文件「閱讀

(emphsis補充)。 「轉儲」一詞是指將文件放入tar歸檔文件中,而不是將文件提取到文件系統。因此,--atime-preserve選項用於歸檔文件,而不會導致原稿「一次」反映訪問。這對於支持進行增量備份(轉儲)很有用。

在任何情況下,tar都不能設置它提取的文件的一次,這與您的期望相反。它當然不能與原始文件一樣,因爲tar文件格式甚至不會記錄一次。

1

您可以在tar format specification中觀察到沒有atime字段。這只是爲了保留原始文件被訪問的時間。