find命令是一个方便的工具,可以在系统上查找文件。可以找到最近几天更改过的文件。这将是本教程的重点。 |
文件的时间戳类型
Linux中文件带有以下时间戳:
- atime: 显示上一次读取或访问文件的时间。
- amin: 显示上一次读取或访问文件是多少分钟之前
- mtime: 显示文件或程序上一次修改文件的时间。更改或修改文件内容时,mtime也会更改。“修改”是指将某些数据附加到文件中,部分或全部重新组织或删除。
- mmin: 显示几分钟内最后一次修改文件的时间。
- ctime: 显示文件属性何时修改的
使用-mtime选项
在本节中,将重点介绍如何使用mtime选项搜索时间戳在一定范围内的文件。这列出了几天前访问的文件。
例一:查找/var/log文件夹中,修改时间大于90天被修改过的文件。
[root@localhost ~]# find /var/log -mtime +90 -print
其中-mtime +90 加号表示大于后面的天数
例二:查找/etc文件夹中,修改时间小于10天的配置文件
[root@localhost ~]# find /etc -iname "*conf*" -mtime -10 -print
其中-mtime -10 减号表示小于后面的天数
例三:查找/etc文件夹中,前一天修改过的文件.
[root@localhost ~]# find /etc -mtime 1 -print
其中-mtime 1 表示昨天的这个时间。
以下几个常用的时间戳:
- -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命令是一个方便的工具,可以在系统上查找文件。可以找到最近几天更改过的文件。这将是本教程的重点。