简介
在linux系统创建一个文件后,使用stat <文件名>命令行查看文件状态,总是能看到 3 个时间戳,如下图所示:
从上图可以看到,touch命令创建文件abc后,使用 stat abc命令行查看abc文件的状态,显示了3个时间戳,分别是:
- Access 访问时间
- Modify 编辑时间
- Change 变化时间
由于是touch命令新创建的空文件,所以上面3个时间戳完全一样。
Access访问时间戳
Access访问时间戳记录的是最后一次文件被读取的时间。
这意味着,文件内容即使没有任何编辑的痕迹,只是被读取,Access访问时间戳都将发生变化。
如下图:
使用cat命令行显示一下文件abc的内容,再使用stat abc查看文件状态,Access已经发生了改变。
Modify编辑时间戳
Modify编辑时间戳记录文件最后一次被写入并保存的时间。即使文件没有任何改动,只是重新保存了一下,Modify编辑时间戳将被记录。
如下图:
使用echo管道,向abc文件写入字符串"1"后,使用stat abc查看文件状态,会发现Modify编辑时间戳变了,同时Change变化时间戳也变了。
Change变化时间戳
Change变化时间戳的改变,不只是单纯的由于编辑文件引起的。实际上,Change变化时间戳的改变意味着:与文件相关的任何属性发生变化,Change变化时间戳都将记录在案。如:改变文件的访问权限。
如下图:
使用chmod改变了文件abc的读写权限,Change变化时间戳记录了这个时间。
完!