• Linux下文件的三个时间介绍


    Linux文件的三个时间的介绍

    Linux下文件的三个时间

    (1)modification time(mtime):内容修改时间
    这里的修改时间指的是文件的内容发生变化而更新的时间。
    (2)change time(ctime):状态修改时间
    这里的修改时间值得是文件的属性或者权限发生变化,而更新的时间
    (3)access time(atime):最后访问的时间
    这里的访问时间是指文件被读取而更新的时间

    在Linux下,我们可以用以下命令来查看文件的三个时间

    (1)ls -l 获取文件最后一次被修改的时间(modification time -- mtime);
    (2)ls -lu 获取文件最后一次访问的时间(change time -- ctime);
    (3)ls -lc 获取文件最有一次状态的改变时间(access time -- atime)。
    (4)stat命令可以同时查看三个时间

    例子1

    #直接touch一个file文件并查看时间
    ydqun@VM-0-9-ubuntu file_time % touch file ; stat file                                                                [0]
      File: file
      Size: 0               Blocks: 0          IO Block: 4096   regular empty file
    Device: fc01h/64513d    Inode: 1970232     Links: 1
    Access: (0644/-rw-r--r--)  Uid: ( 1000/   ydqun)   Gid: (    0/    root)
    Access: 2021-01-19 22:57:05.224906605 +0800
    Modify: 2021-01-19 22:57:05.224906605 +0800
    Change: 2021-01-19 22:57:05.224906605 +0800
     Birth: -
    
    

    结论:

    直接touch创建一个文件时,文件的三个时间都是一致的(废话!)。
    

    例子2

    #修改file的权限
    ydqun@VM-0-9-ubuntu file_time % chmod 777 file ; stat file                                                            [0]
      File: file
      Size: 0               Blocks: 0          IO Block: 4096   regular empty file
    Device: fc01h/64513d    Inode: 1970232     Links: 1
    Access: (0777/-rwxrwxrwx)  Uid: ( 1000/   ydqun)   Gid: (    0/    root)
    Access: 2021-01-19 22:57:05.224906605 +0800
    Modify: 2021-01-19 22:57:05.224906605 +0800
    Change: 2021-01-19 22:58:36.764911639 +0800
     Birth: -
    

    结论:

    修改一个文件的权限,该文件的change time(ctime)被更新了。
    

    例子3

    #把标准输出重定向到文件,去修改文件的内容
    ydqun@VM-0-9-ubuntu file_time % echo 'Hello world!' > file ; stat file                                              [130]
      File: file
      Size: 13              Blocks: 8          IO Block: 4096   regular file
    Device: fc01h/64513d    Inode: 1970232     Links: 1
    Access: (0777/-rwxrwxrwx)  Uid: ( 1000/   ydqun)   Gid: (    0/    root)
    Access: 2021-01-19 22:57:05.224906605 +0800
    Modify: 2021-01-19 23:01:27.900920969 +0800
    Change: 2021-01-19 23:01:27.900920969 +0800
     Birth: -
    

    结论:

    当文件的内容被修改时,文件的modification time(mtime)被更新了,而且由于文件的大小发现了变化(文件的大小也是文件的属性之一),
    

    所以文件的change time(ctime)也被更新了。

    例子4

    #用cat去读取一个文件的内容
    ydqun@VM-0-9-ubuntu file_time % cat file ; stat file                                                                  [0]
    Hello world!
      File: file
      Size: 13              Blocks: 8          IO Block: 4096   regular file
    Device: fc01h/64513d    Inode: 1970232     Links: 1
    Access: (0777/-rwxrwxrwx)  Uid: ( 1000/   ydqun)   Gid: (    0/    root)
    Access: 2021-01-19 23:01:32.768921233 +0800
    Modify: 2021-01-19 23:01:27.900920969 +0800
    Change: 2021-01-19 23:01:27.900920969 +0800
     Birth: -
    

    结论:

    当一个文件被读取时,它的access time就被更新了。
    

    总结

    1.当我们要了解一个文件有没有被修改过,我们可以去查看该文件的Modification time(mtime)。
    2.当我们要了解一个文件有没有被查看过,我们可以去查看该文件的access time(atime)。
    3.当我们要了解一个文件的权限或者属性有没有被修改过,我们可以去查看该文件的change time(ctime)。

  • 相关阅读:
    Unity 状态机切换
    Unity3d 血条脚本
    最简单的Python群聊
    EFCore 多字段排序分页法
    搭建react+redux+vscode+typescript开发环境
    C# 4格A*自动寻径
    Sql删除表中多余的重复记录
    ABP弹出提醒用户的错误信息
    百度地图 驾车路线编辑粗浅实例
    .NetCore3.1 WebApi中Swagger配置
  • 原文地址:https://www.cnblogs.com/ydqblogs/p/14300625.html
Copyright © 2020-2023  润新知