Linux 中时间 mtime、ctime 和 atime 的区别
在 Linux 系统上处理文件经常会遇到文件的三个时间,分别是 mtime、ctime 和 atime,那它们都是表示什么意思呢,当对文件进行哪些操作会改变文件的这些时间呢,本篇对其进行介绍。
mtime
mtime 又称作修改时间(modification time),表示文件最后被修改的时间。当你改变文件的内容时,文件的 mtime 将会发生改变。
查看一个文件的    mtime ,可以使用如下:
| 1 | # ls 命令查看文件 107 时显示的时间默认就是 | 
ctime
ctime 又称作更正时间(change time)或状态时间、属性时间,表示文件的属性(如文件内容、所属者、所属组等等)发生更正的时间。当 mtime 发生改变时 ctime 也会发生改变,另外,当文件的权限、名字、位置发生改变也会导致文件的 ctime 改变。
查看一个文件的 ctime,可以使用如下:
| 1 | ls -l --time=ctime 107 | 
atime
atime 又称为访问时间(access time),表示文件的内容被应用程序或某些命令(如 grep、cat 等等)读取时文件的 atime 发生改变。
查看一个文件的 atime,可以使用如下:
| 1 | ls -l --time=atime 107 | 
三者关系
从上面的介绍可以知道,
- atime可以单独改变,而- ctime,- mtime保存不变;
- ctime可以单独改变,而不会影响- atime和- mtime改变;
- mtime改变会影响- ctime和- atime改变;
参考文献
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J. Xu!
 评论









