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

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

看过权威文档,写的很容易产生误解,如今根据本身的理解给出3个参数的解释:

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


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

wKioL1ncYF2hiVRIAACfkaBbqak537.png-wh_50

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

wKiom1ncz2yDGzCWAACibriTPXA357.png-wh_50

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

wKioL1ncYF6R3pR8AACjanck4vs190.png-wh_50

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


一个广泛的应用场景:
bash

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

相关文章
相关标签/搜索