Encontrando tudo no linux com o Find

No post de hoje vamos abordar o uso do comando find. Ele é um incrível software de terminal que tem por finalidade “encontrar coisas” no nosso sistema. Vamos lá?

Antes de mais nada, vamos consultar o manual do comando. Abra seu terminal Linux e digite:

E você encontrará uma infinidade de opções de uso pra esse comando. Porém vamos nos ater a sintaxe de uso dele:

O uso básico do find é como o exemplo acima. Iremos chamar o find, diremos o ponto de partida da busca que queremos realizar (se é dentro do /home, do /var ou de qualquer outro lugar), as condições da nossa busca (se é um arquivo, se é um executável, se foi modificado à partir de quando e etc) e as ações (o que queremos buscar).

Exemplo 1 – Encontrando arquivos e diretórios com base nos seus nomes

Vamos a um exemplo básico. Abaixo iremos realizar uma busca em nosso sistema de coisas (arquivos e diretórios) que contenham o nome “interfaces”:

find

Neste exemplo usamos a condição “-iname”, que retorna resultados independente de maiúsculas e minúsculas.

Exemplo 2 – Encontrando arquivos e diretórios com permissão 777

find1

Note que nos dois exemplos acima nós partimos nossas buscas do diretório raiz “/”. No próximo exemplo nós veremos outras opções de ponto de partida.

Exemplo 3 – Encontrando arquivos à partir de um local específico, que tenham permissão 644

find2

Neste exemplo partimos nossa busca do diretório /root e dizemos que queremos buscar SOMENTE POR ARQUIVOS (-type f). Se quiséssemos buscar por diretório somente, usaríamos -type d:

E se buscássemos por links simbólicos, usaríamos:

Exemplo 4 – Buscar arquivos com base no seu tamanho

O comando acima irá encontrar todos os arquivos em /home que são maiores que 1GB.

Se quisermos buscar arquivos com EXATAMENTE 1GB, usaremos:

Ou inferiores a 1GB:

Exemplo 5 – Executar comando após encontrar coisas

Essa opção é muito bacana. O find consegue encontrar algo pra ti e executar algum comando em cima da sua busca! Vamos a sintaxe:

Como exemplo, iremos buscar todos os arquivos que têm permissão 644 e fazer a lista deles, usando o comando ls -l

Ou podemos buscar todos os arquivos . mp3 (por exemplo) e removê-lo ”

Exemplo 6 – Buscando arquivos com base na data de modificação ou acesso

Este exemplo é muito importante, inclusive é muito utilizado por analistas de segurança quando realizam perícias forenses em sistemas Linux, a fim de buscar possíveis alterações indesejadas. Vamos ao exemplo:

Localizar arquivos no diretório /home que foram modificados a mais de 60 dias atrás.

Encontrar os arquivos no diretório /var/spool que foram acessados pelo menos há dois dias atrás

Exemplo 7 – Encontrar todos os arquivos e diretórios vazios no diretório raiz “/”

 

Conclusão

A nossa intenção aqui foi dar um “ponta-pé inicial” no estudo deste comando. Existem inúmeras outras opções de uso do comando find, que você pode verificar lendo o manual do comando (man find).

One Comment

Add a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *