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!
评论