我知道怎么做得到文件的修改时间(纪元格式):
stat --format=%Y <file>
但我一直不知道如何放文件的修改时间(纪元格式)。 touch(1) 手册页似乎只接受“时间戳”值(或多或少的固定格式,使用月、日、小时、分钟等)或“大多数自由格式的人类可读日期字符串”。
我还应该研究其他实用程序吗?
谢谢。
答案1
至少在 GNU 世界中:
touch --date=@1403970787 file
就像与date
.
答案2
答案3
和perl
:
$ perl -e 'utime (stat($_))[8], time(), $_ for @ARGV' file1 file2 ...
这将更改 中所有文件的 mtime @ARGV
。(stat($_))[8]
是文件的时间。
utime
可以接收文件列表,如果你不关心更改atime,你可以尝试:
$ perl -e '$t = time(); utime $t, $t, @ARGV' file1 file2 ...
笔记
utime
取决于 C 运行时库和正在使用的文件系统。请参阅perldoc -f utime
和中的更多内容perldoc perlport
。