ctime、mtime、atime

简介:

Linux系统文件有三个主要的时间属性,分别是ctime(change time, 而不是create time), atime(access time), mtime(modify time)。后来为了解决atime的性能问题,还引入了一个relatime的属性。

ctime:change time。最后一次文件或目录状态(原数据,即属性)改变的时间。

如:记录该文件的inode节点被修改的时间。touch命令除了-d和-t选项外都会改变该时间。而且chmod,chown等命令也能改变该值


mtime:modify time。最后一次修改文件或目录的时间。

mtime和ctime的区别在于,只有修改了文件的内容,才会更新文件的mtime,而对文件更名,修改文件的属主等操作,只会更新ctime。

如: 对文件进行mv操作,mtime不变,ctime更新;编辑文件内容,mtime和ctime同时修改。其他操作的影响,可以自己试验。但是我发现对文件执行touch操作,会同时修改mtime和ctime,所以具体修改哪个时间,还取决于不同命令自己的实现。


atime:access time。最后一次访问文件或目录的时间。

如cat操作,而ls操作是不会更新的。


        对于文件:

    当修改mtime时,ctime必须随着改变.因为文件大小等都属性;有人说说atime也一定会改变,要想修改文件必须先访问;其实是不对的,不必访问文件就能修改其内容:如:#echo “This is a test !” >> /etc/issue,issue文件内容会变,但并没有访问文件,所以atime并没有改变.

     

    对于目录:

    访问一个目录其atime改变,mtime ,ctime不变;修改一个目录:在一个目录下touch一个文件,

mtime与ctime会改变,atime不一定会变;


可以通过stat来查看文件的mtime,ctime,atime等属性:stat filename

也可以通过ls命令来查看:

    ls -lc filename 列出文件的 ctime

    ls -lu filename 列出文件的 atime

    ls -l filename 列出文件的 mtime


从kernel2.6.29开,还默认集成了一个relatime的属性。这个功能我个人理解是为了解决atime的兼容性问题。因为在文件读操作很频繁的系统中,atime更新所带来的开销很大,所以很多SA都在挂装文件系统的时候使用noatime属性来停止更新atime。但是有些程序需要根据atime进行一些判断和操作,所以Linux就推出了一个relatime特性。






      本文转自 M四月天 51CTO博客,原文链接:http://blog.51cto.com/msiyuetian/1681776 ,如需转载请自行联系原作者


相关文章
|
Linux
如何将 Find 与 atime、ctime、mtime、amin、cmin、mmin 一起使用?
如何将 Find 与 atime、ctime、mtime、amin、cmin、mmin 一起使用?
668 2
如何将 Find 与 atime、ctime、mtime、amin、cmin、mmin 一起使用?
|
Unix Linux Go
Linux系统文件的三种time(atime/ctime/mtime)
Linux系统文件的三种time(atime/ctime/mtime)
118 2
CTime类format的使用
CTime类format的使用
获取当前时间的函数 CURRENT_TIME 和 LOCALTIME
获取当前时间的函数 CURRENT_TIME 和 LOCALTIME
209 0
|
机器学习/深度学习 Linux 开发工具
Linux - 文件的三种时间之atime、ctime、mtime的区别和简单用法
Linux - 文件的三种时间之atime、ctime、mtime的区别和简单用法
383 0
Linux - 文件的三种时间之atime、ctime、mtime的区别和简单用法
|
存储 Linux Shell
Linux文件与目录的三种时间状态(mtime,atime,ctime)区别
  Linux文件与目录的三种时间状态(mtime,atime,ctime)区别 文件的三个时间 我们已经很熟悉windows系统了,那么我们在windows下新建一个文件,我们知道它在保存的时候肯定是会保存一下文件的创建时间之类的信息的,那么我们来看看windows下的一个文件保存了几个时间信息。
1671 1
|
Linux Windows 开发工具
POSIX下三种time(atime,mtime,ctime)
在windows下一个文件有三种时间属性: 1>创建时间 2>修改时间 3>访问时间 相似的在Linux下一个文件也有三种时间属性: (与windows不同的是linux没有创建时间,而多了个访问时间) 1>访问时间(access time 简写为atime) ...
1904 0
|
Oracle 关系型数据库
[20180608]asmcmd显示文件的日期时间问题
[20180608]asmcmd显示文件的日期时间问题.txt http://blog.iarsov.com/oracle/date-and-time-format-in-asmcmd-for-file-listing/ --//如果你使用asmcmd查看asm文...
1668 0

热门文章

最新文章