ARQUIVOS : Procurar Arquivos no Linux


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

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

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


Close Menu