Linux查找最近几天修改的文件

时间:2020-03-05 15:26:45  来源:igfitidea点击:

Linux Find命令是一个方便的工具,允许我们在系统上找到或者查找文件。
我们可以根据文件类型,文件位置和文件权限等宽标准指定要定位文件,例如提及几个。
此外,我们可以在最后一天内找到更改的文件。
这将是本教程的重点,并将探索根据其时间戳检索文件的各种方法。

文件时间戳的类型

Linux中的文件承载以下时间戳:

ATIME:这是访问时间戳,它在最后一次读取或者访问文件时显示。
这意味着应用程序用于打开文件并读取其内容。

Amin:当在几分钟内访问该文件时,这会打印出来。

mtime:这是修改的时间戳。
当文件或者用户最后修改文件时,它揭示了它。
更改文件内容或者修改文件内容时,MIME更改。
通过"修改",我们的意思是将一些数据添加到文件中,部分或者全部重新组织或者删除。

MMIN:MMIN指令在最后一次在几分钟内修改文件。

立方:这是更改时间或者更改时间戳。
它揭示了文件的属性更改时。
一个很好的例子是修改文件所有权或者权限,从而有效地改变时间戳。

这是时间戳的简要概述。
其中我们将更多地关注'atime和'mtime'时间戳。

使用Mime - 修改时间

在本节中,我们将专注于如何使用Mtime选项搜索落在一定范围内的时间戳的文件。
此列出日期访问的文件。

要列出时间戳在过去90天内更改的文件,请使用+ mtime 90选项。

    • Mime +90意味着我们正在寻找超过90天前更改的文件。
    • mtime -90意味着我们正在寻找档案更改的文件不到90天前。
  • -mtime 90表示我们正在寻找修改90天的文件。

例如,要搜索在不到90天前修改的"/home/james/data"目录中的txt文件,请使用以下命令:

$find /home/james/data -iname "*.txt" -mtime -90 -print

此外,我们可以使用数字参数如图所示:

  • -1过去24小时
  • -0.5最后12个小时
  • -0.25最后6个小时
  • + 2超过两天

例如,以下命令显示在过去12小时内修改的文本文件

$find /home/james/data -iname "*.txt" -mtime  -0.5

使用ATIME - 文件访问

如前所述,ATIMe是用于显示用户或者应用程序访问文件的最后一次的属性。
让我们看看一些例子:

要在过去30天内访问所访问的主目录中的所有文本文件,请运行

$find /home/james -iname "*.txt" -atime -30 -type f

要在20天前查看访问的DOCX文件,请运行以下命令。
请注意,20个值之前没有减号。

$find /home/james -iname "*.docx" -atime 20 -type -f

-daystart选项

"-daystart""选项从当天开始而不是24小时前测量时的时间。
例如。
要查找昨天编辑的所有PDF文件,请运行:

$find /home/james/data/-mtime 1 -daystart -iname "*.pdf"

要列出3-5天前编辑的文件,请运行命令:

$find /home/james/data/-mtime 3 -mtime -5 -daystart -iname "*.pdf"

-newer选项

-newer选项将文件从两个不同的目录中进行比较,并显示更新的文件。
例如,要查找在/home/james/downloads目录中更新的文件,而不是在/home/james/emages目录中运行以下命令

$find  /home/james/Downloads  -newer /home/james/images