Linux文件有三个主要的变动时间:
modification time (mtime)
: 当该文件的『内容数据』变更时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限。
status time (ctime)
: 当该文件的『状态 (status)』改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间。
access time (atime)
: 当『该文件的内容被取用』时,就会更新这个读取时间 (atime)。举例来说,我们使用 cat 去读取/etc/ltrace.conf, 就会更新该文件的atime 。
查看/etc/ltrace.conf文件的相关时间:
1 | root@ubuntu:/home/mrbird# date;ls -l /etc/ltrace.conf;ls -l --time=atime /etc/ltrace.conf;ls -l --time=ctime /etc/ltrace.conf |
默认的情况下,ls
显示出来的是该文件的 mtime。要修改文件相关时间属性,可以使用touch
指令。
语法:
1 | touch [-acdmt] 文件 |
新建一个空文件,并查看其时间:
1 | root@ubuntu:/temp# touch testouch |
修改testouch的mtime为两天前:
1 | root@ubuntu:/temp# ls -l testouch |
修改testouch的atime为2017/01/01 00:00:
1 | root@ubuntu:/temp# touch -a -t 201701010000 testouch |
《鸟哥的Linux私房菜》读书笔记