导读 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命令是一个方便的工具,可以在系统上查找文件。可以找到最近几天更改过的文件。这将是本教程的重点。

本文原创地址:https://www.linuxprobe.com/find-search-file.html编辑:逄增宝,审核员:逄增宝