头图

find命令是一个方便的工具,可以在系统上查找文件。可以找到最近几天更改过的文件。这将是本教程的重点。
文件的时间戳类型
Linux中文件带有以下时间戳:

atime: 显示上一次读取或访问文件的时间。
amin: 显示上一次读取或访问文件是多少分钟之前
mtime: 显示文件或程序上一次修改文件的时间。更改或修改文件内容时,mtime也会更改。“修改”是指将某些数据附加到文件中,部分或全部重新组织或删除。
mmin: 显示几分钟内最后一次修改文件的时间。
ctime: 显示文件属性何时修改的
使用-mtime选项
在本节中,将重点介绍如何使用mtime选项搜索时间戳在一定范围内的文件。这列出了几天前访问的文件。

例一:查找/var/log文件夹中,修改时间大于90天被修改过的文件。

[root@localhost ~]# find /var/log -mtime +90 -print
其中-mtime +90 加号表示大于后面的天数
Find命令查找最近几天修改的文件Find命令查找最近几天修改的文件
例二:查找/etc文件夹中,修改时间小于10天的配置文件

[root@localhost ~]# find /etc -iname "conf" -mtime -10 -print
Find命令查找最近几天修改的文件Find命令查找最近几天修改的文件
其中-mtime -10 减号表示小于后面的天数
例三:查找/etc文件夹中,前一天修改过的文件.

[root@localhost ~]# find /etc -mtime 1 -print
其中-mtime 1 表示昨天的这个时间。
Find命令查找最近几天修改的文件Find命令查找最近几天修改的文件
以下几个常用的时间戳:

-1 最近24小时
-0.5 最近12小时
-0.25 最近6小时
+2 两天前
使用-atime选项
如前所述,atime是用于显示用户或应用程序最后一次访问文件的时间。让我们看一些例子:

查找10天内访问root根目录的文件:

[root@localhost ~]# find /root -atime -10 -type f
要查看20天前这个时间点访问的docx文件,请运行以下命令:

[root@localhost ~]# find /root -iname "*.docx" -atime 20 -type -f
使用-daystart选项
-daystart 选项测量从当天开始而不是24小时之前开始的时间。例如,要查找昨天编辑的所有pdf文件,请运行:

[root@localhost ~]# find /root/data/ -mtime 1 -daystart -iname "*.pdf"
要列出3-5天之前编辑的文件,请运行以下命令:

[root@localhost ~]# find /home/james/data/ -mtime 3 -mtime -5 -daystart -iname "*.pdf"
使用-newer选项
-newer选项比较来自两个不同目录的文件并显示较新的文件。例如查找/root/b里面比/root/a里面新的文件:

[root@localhost ~]# find /root/b -newer /root/a
Find命令查找最近几天修改的文件Find命令查找最近几天修改的文件

总结
find命令是一个方便的工具,可以在系统上查找文件。可以找到最近几天更改过的文件。这将是本教程的重点。


刘遄
25 声望17 粉丝

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。