Aprenda a “encontrar coisas” pelo terminal Linux, com o comando FIND

Aprenda a “encontrar coisas” pelo terminal Linux, com o comando FIND

Vinícius Vieira 31/07/2013 1

Aprenda a “encontrar coisas” pelo terminal Linux, com o comando FIND
Share

banner

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:

man find

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

find <início da busca> [condições]  {ações}

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 / -iname 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

find / -perm 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

find /root -type f  perm 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:

find /root  -type d

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

 find /home  -type l

Exemplo 4 – Buscar arquivos com base no seu tamanho

find /home -size +1 G

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

Se quisermos buscar arquivos com EXATAMENTE 1GB, usaremos:

find /home -size 1G

Ou inferiores a 1GB:

find /home -size -1G

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:

 find <onde buscar> <opções> -exec <comando> {} \;

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

find / -perm 644 -exec ls -l {} \;

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

find / -name “*.mp3″  -exec rm -rf {} \;

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.

find /home -mtime +60

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

find /var/spool -atime +1

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

find / -empty

 

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).

http://sejalivre.org/aprenda-a-encontrar-coisas-pelo-terminal-linux-com-o-comando-find/

Deixe um comentário