我在许多目录中使用了 find 命令,但是当从 /etc 运行以下命令时:
find /etc -name *.conf
它出错并且无法弄清楚。这只发生在 /etc 目录中。我可以从任何其他目录运行这个确切的命令并且工作正常。称其为强迫症,我只需要知道为什么。
答案1
问题是 shell 在执行命令之前扩展了您的选项“*.conf”。
改用find /etc -name "*.conf"
答案2
元字符('*'、?' and
[]')与“.”匹配在基本名称的开头(这是 findutils-4.4.2 中的更改)。基本上,您只需排除“.”即可。得到您想要的结果:
查找/etc-名称*conf