Find - Exemplos práticos

Criado por André Albuquerque em Linux 31/03/2025
Compartilhar

O comando find é muito útil no dia-a-dia de profissionais que atuam com Linux e Cyber Security.

Iremos explorar como essa ferramenta pode ser utilizada para localizar arquivos de forma precisa, facilitando a identificação de evidências em investigações e auditorias de segurança. Entre os principais pontos:


  • Como configurar buscas refinadas com filtros e expressões regulares.
  • A integração do "find" em scripts automatizados para monitorar alterações em sistemas críticos.
  • Exemplos práticos de uso para detectar arquivos suspeitos ou modificações não autorizadas.
  • A importância dessa abordagem na investigação de incidentes e na prevenção de ataques cibernéticos.


Vamos ao que interessa:


1. Encontrar arquivos pelo Nome:
# find /home/user -name "exemplo.txt"


2. Encontrar arquivos pela Extensão:
# find /var/log -name "*.log"


3. Encontrar arquivos modificados nos últimos 7 dias:
# find /etc -mtime -7


4. Encontrar arquivos modificados há mais de 30 dias:
# find /usr/local -mtime +30


5. Encontrar e deletar arquivos:
# find /tmp -name "pacotes.txt" -delete


6. Encontrar arquivos ou diretórios vazios:
# find /var/www -empty


7. Encontrar arquivos com mais de 100 MB:
# find /home/user/Downloads -size +100M


8. Encontrar arquivos pertencentes a um usuário específico:
# find /home/ -user username


9. Encontrar arquivos com permissões 0644:
# find /etc -perm 0644


10. Encontrar arquivos e executar um comando (Comprimir arquivos de log com Gzip):
# find /var/log -name "*.log" -exec gzip {} \;


11. Encontrar arquivos e executar um comando (Deletar arquivos vazios):
# find /home/user -type f -empty -exec rm {} \;


12. Encontrar arquivos e exibir seus detalhes:
# find /home/user -type f -exec ls -lh {} \;


13. Encontrar arquivos excluindo um diretório específico:
# find / -path "/proc" -prune -o -name "*.conf" -print


14. Encontrar arquivos modificados nos últimos 60 minutos:
# find /var/www -mmin -60


15. Encontrar e fazer backup de arquivos com uma específica extensão:
# find /home/user/imagens -name "*.png" | xargs tar -czvf arquivos.tar.gz


16. Encontrar links simbólicos:
# find /usr/bin -type l


17. Encontrar arquivos pelo número do inode:
# find / -inum 290878


18. Encontrar arquivos e excluir um tipo de arquivo específico:
# find /home/user -not -name "*.txt"


19. Encontrar arquivos com um dono de grupo específico:
# find /var/www -group httpd


20. Encontrar arquivos com um range de tamanho específico (Entre 40 e 90 MB):
# find /var/ -size +40M -size -100M


21. Encontrar e ordenar arquivos pelo tempo de modificação:
# find /var/log -type f -exec ls -lt {} +


22. Encontrar arquivos modificados nas últimas 2 horas:
# find /var/log -mmin -120


23. Encontrar arquivos com um determinado grupo e dono:
# find /home -user aluno -group web


24. Encontrar arquivos com uma determinada permissão:
# find /var/log -perm 600


25. Encontrar arquivos com mais de 1GB e deletá-lo:
# find /var/ -size +1G -exec rm -f {} \;


26. Encontre arquivos e limite a profundidade da pesquisa a 1 nível:
# find /home/user -maxdepth 1 -name "*.txt"


27. Encontre arquivos acessados mais de 90 dias atrás:
# find /var/log -atime +90


28. Encontre arquivos ocultos:
# find /home/user -name ".*"


29. Encontre arquivos criados mais que 1 dia atrás:
# find /home/user -ctime +1


30. Encontre arquivos pelo seu tipo:
# find /dev -type b


31. Encontre arquivos com um permissão específica e exclua:
# find / -perm /a=r -not -perm /a=w


32. Encontre arquivos contendo uma string específica no nome:
# find /home/user -name "*config*"

Compartilhar

Compartilhar este post com outros