Tente
find . -name "filetofind" 2>/dev/null
Isso redirecionará o fluxo de saída stderr
, que é usado para relatar todos os erros, incluindo o "Acesso negado", ao dispositivo nulo.
Costumo tentar encontrar arquivos com a seguinte sintaxe:
find . -name "filetofind"
No entanto, isso geralmente resulta em várias linhas ou relatórios de erros (Permissão negada) sobre pastas em que a permissão é negada. Existe alguma outra maneira de evitar este spam do que usar o sudo ou o avançado grepping da saída de erro?
Se você quiser ver outros erros e não tiver arquivos com "permissão negada", isso funcionará "melhor".
find . -name "filetofind" 2>&1 | grep -v 'permission denied'
Redirecionando a saída para grep com a opção de inversão.
Você também pode usar os predicados -perm
e -prune
para evitar a descida para diretórios ilegíveis (ver também Como eu removo as declarações de impressão" permissão negada "do programa de busca? - Unix & Linux Stack Exchange :
find . -type d ! -perm -g+r,u+r,o+r -prune -o -name "filetofind" -print