查找 30 分钟前的文件

Ara*_*ind 16 find

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

lge*_*get 21

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

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

如果您想根据这些时间查找带有测试的文件,find( man find) 可以帮助您。

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

find -amin 30
Run Code Online (Sandbox Code Playgroud)

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

find -amin +25 -amin -35
Run Code Online (Sandbox Code Playgroud)

这将查找访问时间超过 25 分钟但不到 35 分钟的文件。

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

  • @user2910201 但请注意,您可以将“Xtime”与任何合理的时间单位一起使用,例如“30m”三十分钟,或“5d”五天 (3认同)

rye*_*ayo 6

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

find . -mmin 30    #exactly 30 minutes old
Run Code Online (Sandbox Code Playgroud)


Ara*_*ind 4

没有GNU/BSD find

\n\n
TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" /reference/file\n
Run Code Online (Sandbox Code Playgroud)\n\n

进而find . -newer /reference/file

\n\n

St\xc3\xa9phane Chazelas 给出的解决方案

\n