下载文件或解压缩文件时,时间戳不会设置为文件出现在我的硬盘上的时间,这正是我想要的。
看这个例子
~$ 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
这种行为是“新的”,并且是在过去几年内发生的。
问题
是否可以禁用此功能,以便当文件写入磁盘时,它会获得我执行此操作时的时间戳?
答案1
来自 wget 手册页:
--no-use-server-timestamps
不要将本地文件的时间戳设置为服务器上的时间戳。
默认情况下,下载文件时,其时间戳设置为与远程文件中的时间戳相匹配。这允许
--timestamping
在后续调用中使用wget
.但是,有时将本地文件的时间戳基于实际下载的时间很有用;为此目的,--no-use-server-timestamps
提供了该选项。
unzip
还可以-DD
选择跳过恢复提取项目的时间戳。
从man unzip
:
-D
跳过恢复提取项目的时间戳。
通常,unzip 会尝试恢复 Zip 存档中提供的提取项目的所有元信息(并且不需要特权或强加安全风险)。
通过指定
-D
,unzip
被告知禁止恢复从 Zip 存档条目显式创建的目录的时间戳。 [...]重复选项
-DD
强制抑制所有提取的条目(文件和目录)的时间戳恢复。此选项会将所有提取的条目的时间戳设置为当前时间。
答案2
答案3
我的版本没有看到任何这样的选项wget
。也许您可以touch
下载所有内容?