find 命令似乎没有排除指定的目录

use*_*541 -3 find

find命令应该允许排除目录。我尝试了以下命令。

find -name "clang" -not -path "./mnt/*
Run Code Online (Sandbox Code Playgroud)

它仍在搜索目录。我错过了什么?

find -not -path 的输出

Kus*_*nda 5

使用-not -path './mnt/*'(or ! -path './mnt/*') 不会阻止find下降到mnt目录中,它只是意味着它不会对在其中找到的名称执行任何操作。

find完全忽略目录,请使用-prune

find . -type d -name mnt -prune -o -type f -name clang -print
Run Code Online (Sandbox Code Playgroud)

或者

find . -path ./mnt -prune -o -type f -name clang -print
Run Code Online (Sandbox Code Playgroud)

第一个选项将跳过任何 mnt目录,而第二个选项将跳过顶级目录。