如何找到 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 给出的解决方案