Comando Find
Aviso: existem versões do find para outros sistemas operativos, o texto refere-se ao find da GNU versão 4.1, outras versões do comando find podem não possuir as mesmas funcionalidades, este documento não é de forma alguma exaustivo, e se quer mesmo saber como o find funciona, nada melhor do que fazer: man find.
O comando find serve para encontrar ficheiros, o exemplo de utilização mais simples é: find . ou em versões mais antigas: find . -print
Este comando encontra todos os ficheiros existentes debaixo do directório corrente, e imprime o seu nome ( acção por defeito).
Assim, o primeiro argumento do comando find é sempre o directório no qual queremos procurar os ficheiros.
No entanto a maior utilidade do comando find vem do facto de podermos seleccionar os ficheiros que queremos de muitas formas segundo as várias opções:
Ficheiros com um certo nome:
-name nome_do_ficheiro
-iname nome_do_ficheiro
( não distingue entre maiúsculas e minúculas )
Exemplos: find . -name core -print find . -name \*.c -print
Nota: Para encontrar um ficheiro com um determinado nome é mais rápido usar o comando locate se o seu sistema unix estiver bem configurado. Associado ao comando locate existe o comando updatedb para fazer a actualização do ficheiro que o locate utiliza. Assim o locate consulta apenas um ficheiro, enquanto o find pode procurar em toda a árvore de directórios.
Ficheiros com um certo path:
-path
-ipath
pathname pathname ( não distingue entre maiúsculas e minúculas )
Exemplo: find . -path misc -print
Ficheiros de um certo tipo:
-type tipo
O tipo poder ser:
b c d f l p block device char device directório ficheiro "normal" link simbólico named pipe
Pode encontrar ( se existirem ) os ficheiros:
./misc.c
./src/misc/test.c
./src/prog1/misc3.c
s
socket
Exemplos: find . -type d -print find . -type f -print
Ficheiros de um determinado grupo ou utilizador: