加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux系统文件有三个主要的时间属性

发布时间:2022-12-13 10:43:25 所属栏目:Linux 来源:
导读:  Linux系统文件有三个主要的时间属性,分别是 ctime(change time, 而不是create time), atime(access time), mtime(modify time)。后来为了解决atime的性能问题,还引入了一个relatime的属性,下面一一解释。
  Linux系统文件有三个主要的时间属性,分别是 ctime(change time, 而不是create time), atime(access time), mtime(modify time)。后来为了解决atime的性能问题,还引入了一个relatime的属性,下面一一解释。
 
  ctime, 很多朋友把它理解成create time,包括很多误导人的书籍也是这么写。实际上ctime是指change time。
 
  mtime, 就是modify time。
 
  mtime和ctime的区别在于,只有修改了文件的内容,才会更新文件的mtime,而对文件更名,修改文件的属主等操作,只会更新ctime。
 
  举例说明: 对文件进行mv操作,mtime不变Linux 文件基本属性,ctime更新;编辑文件内容,mtime和ctime同时修改。其他操作的影响,可以自己试验。但是我发现对文件 执行touch操作,会同时修改mtime和ctime,所以具体修改哪个时间,还取决于不同命令自己的实现;
 
  atime, 这个就是每次查看文件内容的时候会更新。比如cat操作,而ls操作是不会更新的。
 
  你可以通过stat来查看文件的mtime,ctime,atime等属性,也可以通过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特性。
 
  使用这个特性来挂装文件系统后,只有当mtime比 atime更新的时候,才会更新atime。事实上,这个时候atime和mtime已经是同一个东西了。所以这个选项就是为了实现对atime的兼容才 推出的。并不是一个新的时间属性。使用方法就是通过mount -o relatime /dir来挂装目录。
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!