从子目录内执行时,“查找”不会返回所有结果

从子目录内执行时,“查找”不会返回所有结果

find当使用如下简单命令时:

find /volume6/Misc \( -name *.rar -o -name *.zip -o -name *.7z \)

如果我从根目录(在哪里volume6)执行此命令,该命令将返回所有预期结果,但如果我从内部执行相同的命令,/volume6/Misc/它突然只返回 5-6 个结果,而不是从根目录执行时得到的 100 多个结果。

如果我明确地将路径从根目录开始,并以 开头/,那么为什么find从目录 A 而不是目录 B 执行命令时返回的结果会更少?无论哪种方式,它都会搜索相同的位置。

答案1

我忽略了这样一个事实:使用通配符时,*除非将其括在引号中,否则将首先对其进行评估。将我的命令更改为:

find /volume6/Misc \( -name "*.rar" -o -name "*.zip" -o -name "*.7z" \)

无论起始位置如何,都会返回正确数量的结果。

相关内容