ctime/atime/mtime的区别

我个人觉得这并不是一个很困扰人的问题,可确实被一些文档搞的混乱了。于是乎,我觉得有必要彻底澄清这几个名词的概念了。

话说不管你是通过Linux的find命令也好,或者其他的编程语言中的调用接口也好。总会碰到几个时间戳记:atime, ctime, mtime。

单纯从字面上来说,atime的意思是access time,不会有太多的歧义,就是中文上的“最后一次访问时间”。只要这个文件被操作,不论是read还是write,还是那个append。这个时间戳都会被update。

ctime字面上的c是”Change”,而mtime对应的是”Modify”。根据”有道词典”的解释分别为“改变;交换”和”修改,修饰;更改”。对于一个不已英语为母语的人来说这两个词根本没有任何区别。

就说的简单点吧modify大多数的情况下是指“编辑”。即对文件的主体内容进行了改变才能update mtime。而ctime则只需要inode改变就可以update。正常的同分区内mv, chown, chmod等文件级别的操作只会修改ctime。但貌似所有的mtime都会伴有ctime。

推荐阅读:
首先是庆祝我们开源小站再次搬家
一开始学习Linux时,曾经有
算起来Litrin在生产环境中

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请补全下列算式: *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据