理解Linux文件的三个时间点:access time、modify time、change time
在linux的使用stat命令来查看文件的详细信息,里面会出现三个时间分别就是:access time、modify time、change time。下面将分别举这三个时间来做一个说明
access time:表示的是最后一次(访问但没有改动)访问文件的时间。
从上面的图局可以看出来,我们用cat命令查看了shiyan.cpp文件,但是前后的access time并没有发生变化。这是因为早期的linux确实是实时更新访问时间的,但后来发现大量的写磁盘操作对于操作系统的性能有很大的影响。于是便做了更新策略,当满足以下条件才会进行access time时间的更新:
1、访问时间早于修改时间或改变时间;
2、距离上次访问时间更新大于24小时。
modify time:表示最后一次修改文件的时间。
当我们通过vim命令对于shiyan.cpp文件进行修改之后,我们发现访问时间和修改时间就一起改变了。
change time:表示最后一次对于文件属性的修改时间,包括权限、大小、属性。
总结:
1、当仅读取访问文件的时候,现在文件的各个时间不会发生变化(以前access time的时间会发生变化)。
2、修改文件内容的时候,modify time和change time会发生变化,access time可能会发生变化。
3、当修改文件属性的时候,change time 会发生改变,modify time没有发生改变,access time可能会发生改变。