详解Linux中atime,mtime,ctime的使用场景

 更新时间:2022年10月13日 09:10:20   作者:Mrwhite86  
这篇文章主要介绍了Linux的三个时间atime,mtime,ctime详细说明与使用场景,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起了解一下

一、文件与文件夹三个时间:atime,mtime,ctime的含义

1.含义

atime(Access Time):文件最近被访问时间

mtime(Modify Time):文件最近内容修改时间

ctime(Change Time):文件最近权限和属性修改时间

2.文件的触发time修改的情况

atime(Access Time):在读取文件或者执行文件时更改的任何对inode的访问都会使此处改变

mtime(Modify Time):在写入文件时随文件内容的更改而更改的

ctime(Change Time):在写入文件、更改所有者、权限或链接设置(更改状态)时随 Inode 的内容更改而更改的

3.文件夹触发time修改的情况

atime(Access Time):读取文件或者执行文件时更改的(cd不会ls会改变)

mtime(Modify Time):在文件夹中有文件的新建才会改变,注意使用vi在文件夹内新建文件即使退出时也会变化mtime,而只更改文件夹内文件内容不会修改文件夹的mtime

ctime(Change Time):ctime 基本同文件的ctime,其体现的是inode的change time

4.注意事项,mtime与ctimemtime的改变必然导致ctime的改变,但是ctime不一定导致mtime的更改

二、stat命令查看文件的时间

<strong>stat test001.txt</strong>

三、ll命令查看文件时间(对照stat命令可验证)

1.默认显示mtime

ll test001.txt  #默认显示mtime

2.展示ctime

ll --time=ctime test001.txt #展示ctime

 3.展示atime

ll --time=atime test001.txt #展示atime

四、测试创建/修改文件的时间

假定目前的时间是:2022-10-05 13:15:40

date "+%Y-%m-%d %H:%M:%S"

1.创建文件后测试,文件atime、ctime、mtime均一样

touch test001.txt
stat test001.txt

 2.修改文件后查看,文件atime不变,ctime、mtime更新

echo 123 > test001.txt
stat test001.txt

3.更改文件属主后:文件atime、mtime不变,ctime更新

chown -R root:root test001.txt
stat test001.txt

 4.创建文件夹,文件atime、ctime、mtime均一样

mkdir test001mdr
stat test001mdr

5.文件夹内新建文件,文件夹atime不变,ctime与mtime均发生改变

vi test001mdr/test001.txt
stat test001mdr

6.修改文件夹的属主,文件夹的atime、mtime不变,ctime更新

chown -R root:root ./test001mdr
stat test001mdr

五、常用命令关于文件时间相关

(24h为一天前时间节点,0为当前时间)

1.在当前目录下查询3天内修改过的文件(72h~0)

find .  -mtime -3 #查询3天内修改过的文件

2.在当前目录下查询1天内访问过的文件(24h~0)

find . -atime -1 #查询1天内访问过的文件

3.查找50-100 天修改过的文件(100d~50d)

find / -mtime +50 -mtime -100 #查找50-100 天修改过的文件

4.查找过去 1 小时内更改过的文件(60min~0)

find . -mmin -60 #过去1小时内更改过的文件

5.查找前一天修改过的文件(48h~24h)

find . -mtime 1 #查找前一天修改过的文件(48h~24h)

6.查找一天前修改过的文件(~48h)

find . -mtime +1 #查找一天前修改过的文件(~48h)

7.查找早于指定日期修改的文件(~=day)

find .  -newermt 2022-10-04  #查找早于指定日期(包含)修改的文件

8.查找24小时内修改的文件(24h~0)

find .  -newermt '-24hours'  #查找24小时内修改的文件

9.查找10分钟之内修改过的文件(10min~0)

find /home/ -type f -newermt '-10 minutes' #查找10分钟之内修改过的文件

10.查找1天之内修改过的文件(24h~0)

find . -newermt '1 day ago' #查找1天之前到现在修改的文件

11.查找昨天到现在修改的文件-同上(24h~0)

find .  -newermt 'yesterday' #查找昨天到现在修改的文件

到此这篇关于详解Linux中atime,mtime,ctime的使用场景的文章就介绍到这了,更多相关Linux atime mtime ctime内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 使用bash shell删除目录中的特定文件的3种方法

    使用bash shell删除目录中的特定文件的3种方法

    这篇文章主要介绍了使用bash shell删除目录中的特定文件的3种方法,分别为扩展模式匹配符、GLOBIGNORE 变量和find 命令,需要的朋友可以参考下
    2014-06-06
  • Linux du命令实现根据文件或者文件夹大小排序输出

    Linux du命令实现根据文件或者文件夹大小排序输出

    Linux是一个强大的操作系统,广泛用于服务器和个人计算机,本文主要来和大家聊聊如何利用du命令实现根据文件或者文件夹大小排序输出,感兴趣的可以了解下
    2023-09-09
  • 浅谈Shell 流程控制

    浅谈Shell 流程控制

    这篇文章主要介绍了Shell 流程控制的的相关资料,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以参考下
    2020-06-06
  • Linux磁盘空间被未知资源耗尽的解决方法

    Linux磁盘空间被未知资源耗尽的解决方法

    下面小编就为大家带来一篇Linux磁盘空间被未知资源耗尽的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 使用netcat(瑞士军刀)进行文件传输

    使用netcat(瑞士军刀)进行文件传输

    netcat是开源世界的经典应用之一,被称为网络瑞士军刀。几乎所有的发行版都会带这个小程序,用它可以在任意两台有网络链接的机器上传输文件, 下面我们就来简单看下他的使用方法吧。
    2016-01-01
  • linux系统安装字体详细介绍

    linux系统安装字体详细介绍

    这篇文章主要介绍了linux系统安装字体详细介绍的相关资料,需要的朋友可以参考下
    2017-05-05
  • Shell脚本遍历一个日期范围实例

    Shell脚本遍历一个日期范围实例

    这篇文章主要介绍了Shell脚本遍历一个日期范围实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03
  • shell输出重定向的实现

    shell输出重定向的实现

    本文主要介绍了shell输出重定向的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Linux下is not in the sudoers file的解决方案

    Linux下is not in the sudoers file的解决

    当我们使用sudo命令切换用户的时候可能会遇到提示以下错误:用户名 is not in the sudoers file.本文给大家分享原因分析及解决方案,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • Linux中SELinux、Shell简介、touch命令的应用小结

    Linux中SELinux、Shell简介、touch命令的应用小结

    SELinux(Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统,这篇文章主要介绍了Linux中SELinux、Shell简介、touch命令的应用知识总结,需要的朋友可以参考下
    2023-02-02

最新评论