可能获得“旧”时间戳行为?

San*_*ing 3 zip wget

下载文件或解压缩文件时,时间戳未设置为文件出现在我的硬盘上的时间,这正是我想要的。

看这个例子

~$ 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
Run Code Online (Sandbox Code Playgroud)

这种行为是“新的”,并且发生在过去几年内。

是否可以禁用此功能,因此当文件写入磁盘时,它会在我执行此操作时获得时间戳?

cas*_*cas 9

从 wget 手册页:

--no-use-server-timestamps

不要通过服务器上的时间戳设置本地文件的时间戳。

默认情况下,下载文件时,其时间戳设置为与来自远程文件的时间戳相匹配。这允许--timestamping在 的后续调用中使用wget。但是,有时将本地文件的时间戳基于实际下载时间是有用的;为此目的,提供了这个--no-use-server-timestamps选项。

unzip还可以-DD选择跳过恢复提取项目的时间戳。

来自man unzip

-D

跳过恢复提取项目的时间戳。

通常,解压缩会尝试恢复 Zip 存档中提供的提取项目的所有元信息(并且不需要特权或施加安全风险)。

通过指定 -D,unzip被告知禁止恢复从 Zip 存档条目显式创建的目录的时间戳。[...]

重复选项-DD强制抑制所有提取条目(文件和目录)的时间戳恢复。此选项导致将所有提取条目的时间戳设置为当前时间。