• Linux文件的三个时间 atime,mtime,ctime,以及 relatime


    简介 全名 中文名 含义
    atime access time 访问时间 最后被访问的时间
    mtime modify time 修改时间 文件内容被修改的最后时间
    ctime change time 变化时间

    文件的元数据发生变化,比如:权限,所有者等


    查看文件的三个时间:
    [root@centos7 time]# stat issue 
      File: ‘issue’
      Size: 59            Blocks: 8          IO Block: 4096   regular file
    Device: 805h/2053d    Inode: 261123      Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Context: unconfined_u:object_r:etc_runtime_t:s0
    Access: 2017-11-11 08:15:05.650986739 +0800
    Modify: 2017-11-11 08:15:05.650986739 +0800
    Change: 2017-11-11 08:15:05.650986739 +0800
     Birth: -


    查看文件的 mtime
    [root@centos7 time]# ls -l                               #默认的ls -l显示的是mtime     
    total 8
    -rw-------. 1 root      root 1933 Nov 11 08:14 anaconda-ks.cfg
    -rw-r--r--. 1 zhaojiedi root   71 Nov 11 09:05 issue

    修改 mtime
      touch -d "2020-02-02 02:02:02" 文件    
    按照 文件1的mtime时间,设定文件2的 mtime
      touch -r 文件1 文件2

    查看文件 atime
    [root@centos7 time]# ls -l --time=atime                             #列出文件的atime
    total 8
    -rw-------. 1 root      root 1933 Nov 11 08:14 anaconda-ks.cfg
    -rw-r--r--. 1 zhaojiedi root   71 Nov 11 09:12 issue


    查看文件 ctime
    [root@centos7 time]# ls -l --time=ctime                #列出ctime
    total 8
    -rw-------. 1 root      root 1933 Nov 11 08:14 anaconda-ks.cfg
    -rw-r--r--. 1 zhaojiedi root   71 Nov 11 09:03 issue


    atime,mtime,ctime 的变化情况:
    1.读取文件后,文件的atime发生了改变。其他的没有改变。
    2.写文件操作不会导致atime(访问时间)的修改,但是mtime和ctime会发生修改。那为何ctime也修改了呢, 仔细可以发现我们文件的大小发生了变化,也就是元数据发生了变化,所以ctime也是要变化的。
    3.修改了权限后,文件ctime发生了变化。其他的没有改变。

    扩展 relatime:
    每次访问文件都会更新atime,web服务器上,大量用户访问html页面,每次都更新,会很耗费资源,这种情况没有必要更新atime
    从kernal2.6.29开始,还默认集成了一个reltime属性,挂载文件系统时,使用noatime属性来停止更新atime,但是有些程序需要根据atime进行一些判断和操作,所以推出了 relatime属性。
    使用这个特性来挂载文件系统后,只有当mtime比atime更新的时候,才会更新atime。
    事实上,这个时候atime和mtime已经是同一个东西了。这个选项就是为了实现对atime的兼容才推出的。并不是新的时间属性。
    使用方法:mount -o relatime /dir 来挂载目录


  • 相关阅读:
    数据库常用面试题
    Base64、Md5、Des加密
    C#反射类型的使用
    C# 反射工厂模式的实现
    生成验证码的例子
    轻松实现页面提交时,显示“提交中..” (转)
    编写高性能 Web 应用程序的 10 个技巧 (转)
    由Duwamish学习web.config的配置(转)
    .Net配置文件常用配置说明 (转)
    用asp.net还原与恢复sqlserver数据库(转)
  • 原文地址:https://www.cnblogs.com/yizhixiaowenzi/p/13152408.html
Copyright © 2020-2023  润新知