Linux文件与目录的三种时间状态

今天看内核文件系统这一块又遇到了这个问题:atime,ctime,mtime分别代表什么意思他们之间的区别是什么?对此我又研究了一番!

1. mtime(medify time):最后一次修改文件或目录的时间;

2. ctime(chang time) :最后一次改变文件或目录(改变的是原数据即:属性)的时间;
如:记录该文件的inode节点被修改的时间。touch命令除了-d和-t选项外都会改变该时间。而且chmod,chown等命令也能改变该值。

3. atime(access time)::最后一次访问文件或目录的时间;

对于文件:
当 修改mtime时,ctime必须随着改变.因为文件大小等都属性;有人说说atime也一定会改变,要想修改文件必须先访问;其实是不对的,不必访问文 件就能修改其内容:如:

issue文件内容会变,但并没有访问文件,所以atime并没有改变.

对于目录:
访问一个目录其atime改变,mtime ,ctime不变;修改一个目录:在一个目录下touch一个文件,mtime与ctime会改变,atime不一定会变.
使用stat命令可以查看三时间值:如

也可使用: