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

  • Post author:
  • Post category:linux


Linux find命令是一个方便的工具,可以让你找到或定位系统中的文件。你可以根据广泛的标准,如文件类型、文件位置和文件权限等来指定查找文件。此外,你还可以查找最近几天内更改的文件。而这将是本教程的重点,并将探索各种方法来检索基于其时间戳的文件。

文件时间戳的类型

Linux中的文件有以下时间戳。

atime: 这是访问时间戳,它显示了一个文件最后一次被读取或访问的时间。这意味着一个应用程序被用来打开文件并读取其内容。

amin:这打印出了文件被访问的时间,单位是分钟。

mtime:这是修改后的时间戳。它显示了一个文件最后被程序或用户修改的时间。当文件的内容被改变或修改时,mtime就会改变。我们所说的 “修改 “是指一些数据被添加到文件中,重组或部分或全部删除。

mmin: mmin指令显示文件最后一次被修改的时间,单位是分钟。

ctime: ctime指令显示文件最后一次被修改的时间,单位是分钟。这是更改时间或更改时间戳。它揭示了文件的属性何时改变。一个很好的例子是修改文件所有权或权限,这将有效地改变时间戳。

这是对时间戳的简要概述。在这里,我们将更多地关注 “atime和 “mtime “时间戳。

使用Mtime – 修改时间

在本节中,我们将重点介绍如何使用mtime选项搜索时间戳在一定范围内的文件。 这将列出几天前访问的文件。

要列出过去90天内时间戳发生变化的文件,请使用+ mtime 90选项。

  • mtime +90 意味着你要找的文件是在90天前改变的。
  • mtime -90 意味着你要找的文件在90天前改变了。

    -mtime 90 意味着您要查找的文件修改时间正好是90天。

    例如,要在/home/james/data目录下查找小于90天前修改的txt文件,使用以下命令。

    $ find /home/james/data -iname “

    .txt” -mtime -90 -print

    此外,您还可以使用数字参数,如下所示。

    -1,过去24小时

    -0.5,过去12小时的

    -0.25,过去6小时

    +2,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/images目录下更新的文件,请运行以下命令。

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

    本文到此结束,我们了解如何列出最近几天改变的文件或在一定时间期限内访问的文件。要获得文件的最后修改日期,你可以在Linux中使用一些不同的命令。A5互联https://www.a5idc.net/



版权声明:本文为oMcLin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。