você geralmente diz para descobrir por onde começar a pesquisa e o que procurar. Portanto, a sintaxe dos caminhos a serem pesquisados e o que você está realmente tentando encontrar são diferentes.
Para o caso de uso que você mencionou, vamos supor que você queira encontrar o passwd
arquivo em /etc
:
find /etc/ -name passwd
você está dizendo "começando em etc, procure um arquivo cujo nome sejapasswd
se você não especificar critérios (ou "opções" na linguagem de localização), o que a descoberta faz é que ela inicia no (s) caminho (s) especificado (s) e encontra todos os arquivos e diretórios abaixo, recursivamente. Portanto, as opções "filtram" esses arquivos para restringir o que você está procurando.
Encontre todos os arquivos JPG em qualquer lugar do seu sistema de arquivos:
find / -name "*jpg"
Recomenda-se o uso de aspas nas suas opções, porque, caso contrário, a expansão do shell poderá causar dores de cabeça.
Encontre qualquer arquivo pdf, independentemente do caso, em Documentos ou Downloads:
find Documents/ Downloads/ -iname "*pdf"
Se você fizer isso man find
e rolar para baixo até TESTES, encontrará todos os "critérios" encontrados para restringir sua pesquisa. Você pode procurar arquivos com nomes de arquivos específicos, pertencentes a usuários ou grupos específicos, possuindo uma permissão de arquivo específica, sendo de um tipo específico (por exemplo -type d
, encontrará apenas diretórios, enquanto -type f
encontrará apenas arquivos simples, excluindo diretórios), arquivos mais novos ou mais antigos que um número específico de dias (ou minutos), arquivos vazios, executáveis e assim por diante.
Na página de manual do find, você também encontrará uma seção chamada ACTIONS, que pode seguir os critérios e será acionada por qualquer arquivo que corresponda a todos os critérios. Assim, você pode find
executar ações como excluir arquivos encontrados, executar comandos arbitrários neles e assim por diante.
Mas é claro que a sintaxe básica permanece:
find [starting path(s)] [conditions or criteria]