前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过stat命令来理解ctime mtime atime三者之间的区别

通过stat命令来理解ctime mtime atime三者之间的区别

作者头像
dogfei
发布2020-07-31 13:55:12
1.5K0
发布2020-07-31 13:55:12
举报
文章被收录于专栏:devops探索

是不是对ctime,atime,mtime的含义不是很清楚,而经常混淆呢,下面通过stat的用法来介绍下这三者的区别。

关于stat的用法很简单,主要是用来显示文件或文件系统的状态信息(stat - display file or file system status

下面请看实例:

创建一个文件1.t

touch 1.t

查看他的状态信息

关注三个时间以及一个inode信息

我们试一下当修改1.t这个文件时会发生什么?

可以看到inode信息未发生变化,只有mtime和ctime发生了变化,atime没有发生变化,这个很好理解,因为我们没有读取该文件,那我们来读取一下

对比一下,atime发生了变化,好像是文件被读取了才变化!

如果我们给该文件增加可执行权限呢?

只有ctime发生了变化

那么我们删除文件里的内容呢?

atime,ctime和mtime都发生了变化,inode节点也发生了变化。

到这里是否对这三个time有所启发呢?atime是只有当文件被读取时才会发生改变,ctime是changetime,即发生改变时相应的ctime才会变化,例如权限,内容等,mtime则只有在inode节点保持不变的情况下,只要不删除文件,mtime就不会发生变化

那我们对文件名进行改名操作呢?

文件的inode没有发生变化,只有ctime发生了改变,因为文件名改变了,所以ctime也会改变!

最后我们在做一个软硬链连接看下

软连接没有变化

硬连接的ctime发生了变化

那么我们来总结下吧:

Access time(atime):是指取用文件的时间,常见的操作有:使用编辑器查看文件内容,使用cat命令显示文件内容,使用cp命令把该文件(即来源文件)复制成其他文件,或者在这个文件上运用grep sed more less tail head 等命令,凡是读取而不修改文件的操作,都改变文件的Access time. Modify time(mtime):是指修改文件内容的时间,只要文件内容有改动或存盘的操作,就会改变文件的Modify time,平常我们使用ls –l查看文件时,显示的时间就是Modify time Change time(ctime):是指文件属性或文件位置改动的时间,如使用chmod,chown,mv指令集使用ln做文件的硬连接,就会改变文件的Change time.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档