linux基础---关于atime,ctime,mtime的理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础---关于atime,ctime,mtime的理解相关的知识,希望对你有一定的参考价值。

    时常会遇到根据文件的时间属性做操作的情况,Linux下的文件相关的时间属性有三个。atime,ctime,
mtime。笔者也时常搞混,每次遇到都会人肉搜索,闲暇之际准备将这个知识彻底搞懂。

看过权威文档,写的很容易产生误解,现在根据自己的理解给出3个参数的解释:

ctime   文件内容及文件属性的任何变化,ctime都会更新时间。
mtime   记录最近一次文件内容变化的时间。
atime   记录文件内容或文件属性变化后的第一次访问时间。 ---这个需要注意,笔者踩过坑


修改文件内容后,哪些参数在变化?

技术分享

当我们往文件中追加内容后,我们可以看到mtime,ctime均更新了时间。
atime没有发生变化。

技术分享

当我们修改文件属性后,我们可以看到只有ctime更新了时间。
mtime,atime没有发生变化。

技术分享

当我们使用tail,more,less等查看属性或内容变更后的文件,此时atime也更新了时间。
而如果一直没有访问这个文件,这个文件的atime会一直不会更新。


一个普遍的应用场景:

有些业务需要定时删除2个月之前的文件。此场景比较常用,应使用 find dir -mtime +60。而如果使用atime,ctime会遇到惊喜。     



本文出自 “linux系统维护” 博客,请务必保留此出处http://linuxadmin.blog.51cto.com/2683824/1971142

以上是关于linux基础---关于atime,ctime,mtime的理解的主要内容,如果未能解决你的问题,请参考以下文章

Linux下find , atime, ctime,mtime

Linux中ctime mtime atime文件时间的区别

ctime,atime,mtime

linux-13基础命令之-touch,mkdir

Linux命令:atime,mtime,ctime

Linux时间戳atime ctime mtime区别及相关命令