为什么 Linux CentOS 中的命令find -cmin +20
总是返回 1 条记录.
?我该如何解决这个问题?
答案1
当你没有输入要find
查看的特定路径时,至少 GNU find 将默认从当前目录(包括当前目录)进行递归搜索,即.
。逐字来自man find
:
If no paths are given, the current directory is used.
如果你不想在结果中包含路径参数本身,请添加-mindepth 1
。再次从man find
:
-mindepth levels
Do not apply any tests or actions at levels less than `levels` (a
non-negative integer). `-mindepth 1` means process all files except
the command line arguments.
例子:
~$ mkdir test
~$ cd test
~/test$ find
.
~/test$ find -mindepth 0
.
~/test$ find -mindepth 1
~/test$
使用您的特定命令,find
将始终返回至少一条记录如果当前目录本身已超过 20 分钟。像您那样创建新目录将不会返回任何内容,因为它不符合搜索条件 — 至少在创建后的 20 分钟内不符合。