查找 30 分钟前的文件

查找 30 分钟前的文件

如何找到 30 分钟前的文件/bin/ksh

答案1

在 Linux 上,无法跟踪文件的创建时间。您只能访问:

  • 内容的最后修改时间(创建当然也算修改)mtime,,
  • 最后访问时间atime,
  • 元数据的最后修改时间ctime

如果您想查找基于这些时间进行测试的文件,find( man find) 可以帮助您。

您可以使用这种方式在当前目录及其子目录中查找 30 分钟前访问过的文件:

find -amin 30

通常,您需要使用间隔,因为很难给出准确的分钟数:

find -amin +25 -amin -35

这将查找超过 25 分钟但少于 35 分钟前访问过的文件。

如果您只对修改时间感兴趣而不是访问(即读取)时间,请替换-amin-mmin.

答案2

您可以使用mtime以下方法来执行此操作:

find . -mmin 30    #exactly 30 minutes old

答案3

没有GNU/BSD find

TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" /reference/file

进而find . -newer /reference/file

Stéphane Chazelas 给出的解决方案

相关内容