我將提供以下腳本重現該問題「上次更改的時間」指令「STAT」:「CP -a」(複製在歸檔模式下)不影響在
mkdir a
touch a/f
sleep 1
cp -a a b
stat --printf="%u %g %a %z\n" a/f
stat --printf="%u %g %a %z\n" b/f
結果爲兩個stat
通話將在時間戳不同:
1000 100 644 2015-04-05 10:53:35.736399836 +0200
1000 100 644 2015-04-05 10:53:36.740399841 +0200
但cp
手動告訴,這-a
應保留時間戳。 我在做什麼錯? 如何確保時間戳以我可以測試的方式保存在副本中?
我在Xubuntu 14.04試過這個。 Thx任何幫助!
PS(重要):
我只是嘗試了ls
訪問時間戳,還有我沒有相同的行爲:
$ ls -l --full-time a/
-rw-r--r-- 1 foo bar 0 2015-04-05 10:53:35.736399836 +0200 f
$ ls -l --full-time b/
-rw-r--r-- 1 foo bar 0 2015-04-05 10:53:35.736399836 +0200 f
難道我檢查我的stat命令錯誤的事情?我想找出一個文件被通過比較備份副本「改爲」 ......
也許我應該使用'%y',最後修改時間?我首先想到這只是爲了改變例如訪問權限和東西,但它似乎也被更新爲文件內容更改...這可能是'ls'在我的示例中使用的... – 2015-04-05 09:21:59
是「最後更改」還包括「出生時間」 ?這意味着,最後的變化可能是YOUNGER,然後最後修改? – 2015-04-05 09:37:47