Wget

可能獲得“舊”時間戳行為?

  • June 8, 2016

下載文件或解壓縮文件時,時間戳未設置為文件出現在我的硬碟上的時間,這正是我想要的。

看這個例子

~$ wget https://www.google.com/images/srpr/logo3w.png
~$ stat logo3w.png 
 File: `logo3w.png'
 Size: 7007        Blocks: 16         IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 17040834    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      ss)   Gid: ( 1000/      ss)
Access: 2012-07-25 10:58:26.000000000 +0200
Modify: 2012-04-02 04:13:37.000000000 +0200
Change: 2012-07-25 10:58:26.254385152 +0200
Birth: -
~$ ll logo3w.png 
-rw-rw-r-- 1 ss ss 7007 Apr  2 04:13 logo3w.png

這種行為是“新的”,並且在過去幾年內發生過。

是否可以禁用此功能,因此當文件寫入磁碟時,它會在我執行此操作時獲得時間戳?

從 wget 手冊頁:

--no-use-server-timestamps

不要通過伺服器上的時間戳來設置本地文件的時間戳。

預設情況下,下載文件時,其時間戳設置為與遠端文件中的時間戳匹配。這允許--timestamping在後續呼叫wget. 但是,有時將本地文件的時間戳基於實際下載的時間是有用的;為此目的,--no-use-server-timestamps提供了該選項。

unzip還可以-DD選擇跳過恢復提取項目的時間戳。

來自man unzip

-D

跳過恢復提取項目的時間戳。

通常,unzip 會嘗試恢復 Zip 存檔中提供的提取項目的所有元資訊(並且不需要特權或施加安全風險)。

通過指定 -D,unzip被告知禁止恢復從 Zip 歸檔條目顯式創建的目錄的時間戳。

$$ … $$ 重複選項-DD強制抑制所有提取條目(文件和目錄)的時間戳恢復。此選項導致將所有提取條目的時間戳設置為目前時間。

引用自:https://unix.stackexchange.com/questions/43905