linux学习笔记:Linux的时间戳命令touch实验汇总
Linux中的每个文件都有三个时间戳,“最近一次访问时间(Access)”,“最近一次修改时间(Modify)”和“最后一次改变时间(Change)”。虽然,很多人习惯把touch当作创建新文件的命令,其实它还可以改变文件的时间戳值。
实验一:touch命令基本操作
通过本实验,我们能掌握如何查看文件的时间戳,如何修改时间戳,以及如何手工指定文件时间戳属性。
1、先来查看一下文件的三个时间戳长啥样。对应的Access、Modify、Change。因为这是一个我刚创建的空文件,所以这三个时间戳都是一样的。

2、用cat看一下,csy1.txt是一个空的文件,我们编辑一下,写点内容。使用vi 命令,进入编辑后,按“i” ,进入编辑文件模式,添加内容后,按“Esc”,再输入“:wq”,w是保存,q是退出。这个后面会说到。

3、再看一下csy1的文件属性,因为刚才我cat了一下csy1.txt,所以Access(最后一次访问时间)属性就变化了。

4、使用touch命令可以直接把三个时间戳变为系统当前时间。

5、当然,我也可以单独修改某一个时间戳,比如:-m可以更改“最后一次修改时间”,-a 可以更改“最后一次访问时间”。敲个date先看一下当前系统时间,再stat加入 -m和-a的参数。

可以观察到,无论是更改Access还是Modify,Change的属性都会跟着改变。
6、除了修改以系统时间为参考的时间戳,还可以手工指定文件的时间。我现在就要把“最后一次修改时间”手工指定为“2022年1月1日0点59分12秒”。

这个就厉害了,试想一下,黑客访问完你的某个重要文件,或者修改完你的某个重要文件后,再利用touch把文件时间戳还原到原来时间,你是不是就无法发现文件被人动过了。