Como você não especificou uma ação final, find
está tratando isso como se você tivesse feito
find / \( -name .. -prune -o -name .... -o -name bash \) -print
O "-prune" retorna true e imprime esses diretórios. Isso significa todo diretório chamado sys
, todo diretório chamado proc
e assim por diante. Definitivamente muitos diretórios se você tiver uma fonte de kernel por aí!
por exemplo
/sys
/var/run
/proc
/usr/src/linux-headers-3.16.0-4-amd64/include/config/sys
/usr/src/linux-headers-3.16.0-4-amd64/include/config/keys/debug/proc
/usr/src/linux-headers-3.16.0-4-amd64/include/config/nf/conntrack/proc
/usr/src/linux-headers-3.16.0-4-amd64/include/config/proc
Todos esses são chamados sys
ou run
ou proc
ou ...
A resposta simples é adicionar um -print
ao final do seu comando
% find / -name "proc" -prune -o \
-name "sys" -prune -o \
-name "run" -prune -o \
-name "bash" -print \
2> /dev/null
Agora, find
somente imprimirá bash
entradas
por exemplo
/usr/share/doc/bash
/usr/share/lintian/overrides/bash
/usr/share/menu/bash
/bin/bash