zoukankan      html  css  js  c++  java
  • Linux文件atime ctime mtime

    Linux文件atime ctime mtime

    Linux文件一般来说都具有三个重要的时间

    • atime:access time
    • ctime: change time
    • mtime: modification time

    atime很好理解,对文件的访问都会更改这个时间,ctime则是文件的内容或者属性更改的时间,而mtime是文件的内容被修改后,才会改变。


    举个例子:

    1. 我们新建一个文件:

      此时三个时间应该是一致的。

      这里写图片描述

      有些文件系统会记录文件创建birthtime,不支持的文件系统在这一项上会显示-, stat命令可以查看文件相关的时间。

    2. 我们首先访问这个文件

      这里写图片描述
      我们观察到仅Access Time发生了变化。

    3. 我们修改该文件的属性,增加可执行权限。

      这里写图片描述
      我们观察到仅仅Change Time发生了变化,而Modify Time没有发生变化,是因为我们这里只是修改了文件的属性而非文件内容。

    4. 修改文件内容

      这里写图片描述
      我们观察到不仅仅Modify Time发生了变化,Change Time也发生了变化,这是因为Change Time的变化的原因包含文件内容发生改变。因此一般来讲:mtime <= ctime

    5. 我们常常需要利用文件的时间信息,做为find命令的条件来筛选出特定的文件,进而执行一些action,例如我们需要找出5天前创建的日志文件并删除。

      find -name "*.log" -ctime -5 -delete

      这里写图片描述

      注意我们这里使用的是ctime来代替文件创建的时间,因为日志文件通常是按照天来rolling的,每一天会生成一个新的文件,例如20180825.log的ctime只能是落在当天内。

  • 相关阅读:
    webpack debug
    linux下光标操作
    windows 下 基于express搭建 https协议的网站
    js里的null 与undefined
    scrollIntoView 前的元素滚动到浏览器窗口的可视区域内 不止垂直滚动,还有水平滚动
    js 四舍五入实现
    react 踩坑记
    String.slice
    sublime 常用插件
    springcloud 自己挖坑 @ConfigurationProperties不生效
  • 原文地址:https://www.cnblogs.com/Spground/p/9567864.html
Copyright © 2011-2022 走看看