Para localizar arquivos executáveis chamados java
no diretório especificado:
find '/Applications/NetBeans/NetBeans 7.0.app/' -name java -type f -perm -u+x
A saída será um nome de arquivo por linha, por exemplo,
/Applications/NetBeans/NetBeans 7.0.app/Contents/Resources/NetBeans/ExecutableJavaEnv/java
Se você quiser omitir a parte …/NetBeans 7.0.app
, primeiro mude para o diretório e execute find
no diretório atual ( .
). Ainda haverá um prefixo ./
.
cd '/Applications/NetBeans/NetBeans 7.0.app/'
find . -name java -type f -perm -u+x
Estritamente falando, -perm u+x
seleciona todos os arquivos que são executáveis pelo seu proprietário, não todos os arquivos que você pode executar. O GNU find tem uma opção -executable
para procurar por arquivos nos quais você tenha permissão de execução, considerando todos os modos de arquivo e ACLs, mas essa opção não está disponível em outros sistemas como o OSX. Na prática, é improvável que isso importe; na verdade, para o seu caso de uso, você pode esquecer completamente as permissões e apenas corresponder a -name java -type f
.
-type f
seleciona apenas arquivos regulares, não diretórios ou links simbólicos. Se você quiser incluir links simbólicos em arquivos regulares na pesquisa, adicione a opção -L
a find
(imediatamente após o comando find
, antes do nome do diretório a ser pesquisado).