详解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命令查看文件的时间

1

<strong>stat test001.txt</strong>

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

1.默认显示mtime

1

ll test001.txt  #默认显示mtime

2.展示ctime

1

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

 3.展示atime

1

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

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

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

1

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

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

1

2

touch test001.txt

stat test001.txt

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

1

2

echo 123 > test001.txt

stat test001.txt

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

1

2

chown -R root:root test001.txt

stat test001.txt

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

1

2

mkdir test001mdr

stat test001mdr

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

1

2

vi test001mdr/test001.txt

stat test001mdr

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

1

2

chown -R root:root ./test001mdr

stat test001mdr

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

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

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

1

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

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

1

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

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

1

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

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

1

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

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

1

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

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

1

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

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

1

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

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

1

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

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

1

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

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

1

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

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

1

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

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sinat_40572875

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值