尽可能快地查找最近更改的文件

时间:2015-12-22 16:52:17

标签: linux file search find timestamp

我有一个包含数千个文件的相当大的目录结构。我想知道自特定时间以来是否有任何改变。现在,我可以使用

find <dir> -mmin 30 -type f

..查找过去30分钟内发生变化的文件。但是,这需要几秒钟的时间才能完成,而且我真的不感兴趣(1)查找所有已更改的文件,甚至(2)查找哪些文件已更改。我只是在找&#34;是否有任何文件被更改了?&#34;。

我可以通过在找到第一个文件后使用-print -quit停止来使(1)更好。但是,对于没有文件更改的情况,总搜索仍需要一段时间。

我想知道是否有更快的方法来检查这个?目录时间戳,也许?如果重要的话,我会使用ext4。

1 个答案:

答案 0 :(得分:1)

对于GNU&#39; find,您可以使用选项-quit在第一场比赛后停止搜索。

因此,如果您想了解一下,如果在过去30分钟内至少更改了一个文件,那么您可以运行:

find . -mmin -30 -type f -print -quit

这将打印出第一个匹配文件的名称并退出。

此外,如果您可以控制使用一堆文件的软件,并且性能不是问题,那么您可以在每次更改或添加任何文件时添加触摸时间戳文件的功能,然后仅检查该时间戳文件& #39; s stats。