鸟哥在私房菜里写到:“修改档案时间戒建置新档: touch”
档案时间?不就是一个创建时间吗?要修改创建时间?非也非也,不要再用windows的思想来学习Linux。每个档案在 linux 底下都会记录很多时间参数, 其实是有三个主要的时间变量,那么这三个时间变量意义是什么呢?
modification time (mtime):该档案的内容数据变更时,就会更新这个时间!内容数据是指档案的内容,而不是档案的属性权限喔!
status time (ctime):该档案的状态 (status)改变时,就会更新这个时间,举例说,像是权限属性被更改了,都会更新这个时间啊。
access time (atime):该档案的内容被取用时,就会更新这个读取时间 (access)。也就是说,我们使用 cat 去读取 /etc/man.config , 就会更新该档案的 atime 了。
档案的时间是很重要的,因为,如果档案的时间误判的话,可能会造成某些程序无法顺利运作。OK!那么万一我发现了一个档案来自未来,该如何把该档案时间变成现在的时刻呢? 很简单!就用“touch”这个指令。
touch [-acdmt] 档案
-a:仅修订access time;
-c:仅修改档案的时间,若该档案不存在也不建立新档案;
-d:后面可以接欲修订的日期而不用目前日期,也可以使用 --date="日期或时间"
-m:仅修改mtime;
-t:后面可以接欲修订的时间而不用目前时间,格式为[YYMMDDhhmm]
默认情况下,若touch 后面接档案,则档案的三个时间被设为当前系统时间。