linux中的三个文件时间
Linux系统文件有三个主要的时间属性,分别是ctime(change time), atime(access time), mtime(modify time)。
后来为了解决atime的性能问题,还引入了一个relatime的属性,下面一一解释。
ctime,即change time。
mtime, 即modify time。
mtime和ctime的区别在于,只有修改了文件的内容,才会更新文件的mtime,而对文件更名,修改文件的属主等操作,只会更新ctime。
文件的时间戳,共有三个:ctime指inode创建时间,mtime指文件内容上一次修改的时间,atime指文件最后一次访问的时间。
文件的 access time,atime 是在读取文件或者执行文件时更改的。
文件的 modified time,mtime 是在写入文件时随文件内容的更改而更改的。
文件的 create time,ctime 是在写入文件、更改所有者、权限或链接设置时随inode 的内容更改而更改的。
因此,更改文件的内容即会更改 mtime 和 ctime,但是文件的 ctime 可能会在 mtime 未发生任何变化时更改 – 在权限更改,但是文件内容没有变化的情况下。
ls命令可用来列出文件的 atime、ctime 和 mtime。
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime