时常会遇到根据文件的时间属性作操做的状况,Linux下的文件相关的时间属性有三个。atime,ctime, mtime。笔者也时常搞混,每次遇到都会人肉搜索,闲暇之际准备将这个知识完全搞懂。 看过权威文档,写的很容易产生误解,如今根据本身的理解给出3个参数的解释: ctime 文件内容及文件属性的任何变化(change),ctime都会更新时间。 mtime 记录最近一次文件内容变化(modify)的时间。 atime 记录文件内容或文件属性变化后的第一次访问(access)时间。 ---这个须要注意,笔者踩过坑 修改文件内容后,哪些参数在变化?
当咱们往文件中追加内容后,咱们能够看到mtime,ctime均更新了时间。 atime没有发生变化。
当咱们修改文件属性后,咱们能够看到只有ctime更新了时间。 mtime,atime没有发生变化。
当咱们使用tail,more,less等查看属性或内容变动后的文件,此时atime也更新了时间。 而若是一直没有访问这个文件,这个文件的atime会一直不会更新。
一个广泛的应用场景:
bash
有些业务须要定时删除2个月以前的文件。此场景比较经常使用,应使用 find dir -mtime +60。而若是使用atime,ctime会遇到惊喜。 less