find 命令 mtime 参数(查找N天之前的文件)
Posted catoop
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了find 命令 mtime 参数(查找N天之前的文件)相关的知识,希望对你有一定的参考价值。
find 命令中 有3个参数 -atime
、-ctime
、-mtime
,其中 -mtime
用的最多。
查看文件的属性信息,可以发现文件有4个关于时间的属性,分别对应如下:
文件属性 | 说明 | 对应 find 的参数 |
---|---|---|
Modify Time | 最近更改时间 | -mtime |
Access Time | 最近访问时间 | -atime |
Change Time | 最近状态改动时间 | -ctime |
Birth Time | 文件创建时间 | 无 |
其中 Linux 不支持查看文件创建时间,使用命令 stat
查看文件信息示例如下:
[root@harbor backups]# stat hello.txt
File: ‘hello.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 268670193 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-06-16 16:01:03.080050378 +0800
Modify: 2022-06-15 00:00:00.000000000 +0800
Change: 2022-06-16 16:04:20.458226163 +0800
Birth: -
我们可以使用 find -mtime 来找某时间点之前的文件,并在此基础上进行处理(如定期删除过期文件)。
find -mtime 后跟一个数字参数 +N/-N/N,说明如下:
1、-mtime n : n为数字,意思为在n天之前的“一天之内”被更改过内容的文件
2、-mtime +n : 列出在n天之前(不含n天本身)被更改过内容的文件名
3、-mtime -n : 列出在n天之内(含n天本身)被更改过内容的文件名
示例1
将根目录下24小时内更改过内容
的文件列出
find / -mtime 0
示例2
将根目录下5天之内被更改过内容
的文件列出
find / -mtime -5
示例3
将根目录下5天前的那一天被更改过内容
的文件列出
find / -mtime 5
示例4
将根目录下5天之前被更改过内容
的文件列出
find / -mtime +5
图示如下:
由以上时间轴可以看出,最右边为当前时,+5 代表大于等于 6 天前的档案名, -5 代表小于等于 5 天内的档案名,5 则是代表 5-6 那一天的档案名。
(END)
以上是关于find 命令 mtime 参数(查找N天之前的文件)的主要内容,如果未能解决你的问题,请参考以下文章