Touch
touch这个命令,对于一个技术而言,应该是十分熟悉的.
像uwsgi这种就可以使用监听一个文件的方式来触发服务更新的部署方式,我们这时候就会用到touch reload
的命令来完成.
更重要的是,我习惯性地打ls -al
的命令来查看文件的最后修改时间,来查看是否有小朋友乱动了线上的文件.
直到有一天……..
有同事告诉我,touch有个神奇的功能.
于是乎,我touch --help
下
-a 只更改访问时间
-c, --no-create 不创建任何文件
-d, --date=字符串 使用指定字符串表示时间而非当前时间
-f (忽略)
-h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地
(当系统支持更改符号链接的所有者时,此选项才有用)
-m 只更改修改时间
-r, --reference=FILE use this file's times instead of current time
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
--time=WORD change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
--help 显示此帮助信息并退出
--version 显示版本信息并退出
惊!
touch是可以指定最后修改时间的!也就是说,touch --date="2017-05-25 12:00:00" reload"
,这个命令可以将reload的最后修改时间改回去!
人与人之间最基本的信任呢.
Stat
放心,stat reload
这个命令还是可以看出问题来的.
文件:"reload"
大小:0 块:0 IO 块:4096 普通空文件
设备:808h/2056d Inode:25039211 硬链接:1
权限:(0664/-rw-rw-r--) Uid:( 1000/ catchen) Gid:( 1000/ catchen)
最近访问:2017-05-25 12:00:00.000000000 +0800
最近更改:2017-05-25 12:00:00.000000000 +0800
最近改动:2017-05-26 15:38:02.693909554 +0800
创建时间:-
后记
这感觉,就像ls无法告诉我真实大小一样,现在连最后修改时间都不行了.