comando “find”
O comando “find” do é um dos comandos mais importante e muito usado em sytems Linux. O comando “find” e usado para procurar e uma lista de arquivos e diretórios com base nas condições especificadas para arquivos que correspondem aos argumentos específicos. “find” pode ser usado em uma variedade de condições, como você pode encontrar arquivos por permissões, usuários, grupos, tipo de arquivo, data, tamanho e outros critérios possíveis.
Exemplos práticos do comando FIND no Linux
Através deste artigo, estou compartilhando o dia-a-dia Linux e experiências do comando e seu uso na forma de exemplos. Neste artigo vamos mostrar-lhe os 35 mais utilizados exemplos do Comando “find” em Linux. Divi a seção em cinco partes do básico para avançar uso do comando find.
Parte I: Comandos Básicos Localizar e encontrar arquivos com nomes
Parte II: Localizar arquivos com base em suas permissões
Parte III: Arquivos de pesquisa com base em Proprietários e Grupos
Parte IV: Localizar arquivos e diretórios com base na data e hora
Parte V: Localizar arquivos e diretórios com base no tamanho
Parte I: Comandos Básicos Localizar e encontrar arquivos com nomes
1. Encontre arquivos usando o nome no diretório atual
Encontre todos os arquivos cujo nome é dejano.txt em um diretório de trabalho atual.
# find . -name dejano.txt
./dejano.txt
2. Localizar arquivos no diretório inicial
Encontre todos os arquivos no diretório /home com o nome dejano.txt .
# find /home -name dejano.txt
/home/dejano.txt
3. Encontre arquivos usando o nome e ignorando a caixa
Encontre todos os arquivos cujo nome é dejano.txt e contém letras maiúsculas e minúsculas no diretório /home .
# find /home -iname dejano.txt
./dejano.txt
./Dejano.txt
4. Encontre diretórios usando o nome
Encontre todos os diretórios cujo nome é dejano no diretório / .
# find / -type d -name dejano
/run/user/dejano
/home/dejano
/home/dejano/.macromedia/Flash_Player/#SharedObjects/7SSMPSML/localhost/dejano
5. Encontre arquivos PHP usando o nome
Encontrar todos os arquivos php cujo nome é dejano.php em um diretório de trabalho atual .
# find . -type f -name dejano.php
./dejano.php
6. Encontrar todos os arquivos PHP no diretório
Encontrar todos os arquivos php em um diretório.
# find . -type f -name “*.php”
./dejano.php
./login.php
./index.php
Parte II – Localizar arquivos com base em suas permissões
7. Localizar arquivos com permissões 777
Encontre todos os arquivos cujas permissões são 777.
# find . -type f -perm 0777 -print
./.tor-browser/Docs/Qt/LICENSE.GPL3
./.tor-browser/Docs/Qt/LICENSE.LGPL
./.tor-browser/Docs/Tor/LICENSE
./.tor-browser/Docs/Tor/README
./.tor-browser/Docs/changelog
./.tor-browser/Docs/README-TorBrowserBundle
./.tor-browser/Docs/Vidalia/LICENSE
./.tor-browser/Docs/Vidalia/LICENSE-GPLV3
./.tor-browser/Docs/Vidalia/LICENSE-LGPLV3
./.tor-browser/Docs/Vidalia/LICENSE-GPLV2
./.tor-browser/Docs/Vidalia/CREDITS
./.tor-browser/App/Firefox/libplc4.so
8. Encontre arquivos sem permissões 777
Encontre todos os arquivos sem permissão 777.
# find / -type f ! -perm 777
/run/ConsoleKit/database
/run/teamviewerd.pid
/run/libvirtd.pid
find: `/run/lightdm’: Permissão negada
/run/acpid.pid
/run/NetworkManager/dnsmasq.pid
/run/NetworkManager/dnsmasq.conf
/run/NetworkManager/NetworkManager.pid
/run/clamav/freshclam.pid
/run/crond.reboot
find: `/run/cups/certs’: Permissão negada
/run/atd.pid
9. Encontre arquivos SGID com 644 permissões
Encontre todos os arquivos bit SGID cujas permissões configuradas para 644 .
# find / -perm 2644
find: `/proc/5556/task/5556/fd’: Permissão negada
find: `/proc/5556/task/5556/fdinfo’: Permissão negada
find: `/proc/5556/task/5556/ns’: Permissão negada
find: `/proc/5556/fd’: Permissão negada
find: `/proc/5556/map_files’: Permissão negada
find: `/proc/5556/fdinfo’: Permissão negada
find: `/proc/5556/ns’: Permissão negada
10. Encontre arquivos sticky bit com 551 permissões
Encontre todos os sticky bit arquivos de conjunto cuja permissão são 551.
# find / -perm 1551
find: `/var/lib/udisks2′: Permissão negada
find: `/var/lib/polkit-1′: Permissão negada
find: `/var/lib/lightdm’: Permissão negada
find: `/var/spool/cron/atspool’: Permissão negada
find: `/var/spool/cron/crontabs’: Permissão negada
find: `/var/spool/cron/atjobs’: Permissão negada
11. Encontre arquivos SUID
Encontrar todos os arquivos de conjunto de SUID .
# find / -perm /u=s
/usr/sbin/uuidd
/usr/sbin/pppd
/usr/bin/at
/usr/bin/sudo
/usr/bin/chsh
/usr/bin/gpasswd
/usr/bin/traceroute6.iputils
/usr/bin/chfn
12. Encontre arquivos SGID
Encontrar todos os arquivos de conjunto SGID .
# find / -perm /g+s
/var/local
/var/cache/man
/var/cache/man/ca@valencia
/var/cache/man/ca@valencia/cat1
/var/cache/man/pa
/var/cache/man/pa/cat1
/var/cache/man/cat3
/var/cache/man/he
/var/cache/man/he/cat1
13. Encontre arquivos somente leitura
Encontrar todos os Arquivos somente leitura
# find / -perm /u=r
/selinux
/run
/run/udisks2
/run/pm-utils
/run/pm-utils/pm-powersave
/run/pm-utils/pm-powersave/storage
/run/pm-utils/locks
/run/pppconfig
14. Encontre arquivos executáveis
Encontrar todos os arquivos executáveis .
# find / -perm /a=x
15. Localizar arquivos com permissões 777 e chmod para 644
Encontrar todos os arquivos de permissão 777 e usar o comando chmod para definir as permissões para 644.
# find / -type f -perm 0777 -print- exec chmod 644 {} ;
16. Encontre Diretórios com 777 permissões e chmod para 755
Encontre todos os diretórios de permissão 777 e usar o comando chmod para definir as permissões para 755 .
# Find / -type d -perm 777 -print- exec chmod 755 {} ;
17. Encontrar e remover único arquivo
Para encontrar um único arquivo chamado dejano.txt e removê-lo.
# Find . -type f -name “dejano.txt” -exec rm -f {} ;
18 . Encontrar e remover vários arquivos
Para encontrar e remover vários arquivos como .mp3 ou .txt , então use .
# find . -type f -name “*.txt” -exec rm -f {} ;
# find . -type f -name “*.mp3” -exec rm -f {} ;
19. Encontrar todos os arquivos vazios
Para registrar todos os arquivos vazios sob certo caminho .
# find /tmp -type f -empty
20. Encontrar todos os diretórios vazios
Para registrar todos os diretórios vazios sob certo caminho .
# find /tmp -type d -empty
21. Arquivar todos os arquivos ocultos
Para encontrar todos os arquivos ocultos , use o comando abaixo .
# find /tmp -type f -name “.*”
Parte III – Arquivos de pesquisa com base em Proprietários e Grupos
22. Encontre único arquivo com base no usuário
Para encontrar tudo ou arquivo único chamado dejano.txt sob o diretório raiz .
# find / -user root -name dejano.txt
23. Encontrar todos os arquivos com base em usuários
Para encontrar todos os arquivos que pertencem ao usuario dejano sob diretório /home .
# find /home -user dejano
24. Encontrar todos os arquivos com base em Grupo
Para encontrar todos os arquivos que pertence ao grupo developer sob diretório /home.
# find /home -group developer
25. Encontre arquivos particulares de um Usuário
Para encontrar todos os arquivos .txt do usuario dejano em seu diretório /home.
# find /home -user dejano -iname “*.txt”
Parte IV – Encontrar arquivos e diretórios com base na data e hora
26. Encontre nos últimos 50 Dias arquivos modificados
Para encontrar todos os arquivos que foram modificados nos ultimos 50 dias.
# find / -mtime 50
27. Encontre nos últimos 50 dias os arquivos que foram acessados.
Para encontrar todos os arquivos que foram acessados nos últimos 50 dias.
# Find /- atime 50
28. Encontre os arquivos que foram modificados entre os ultimos 50-100 dias.
Para encontrar todos os arquivos que foram modificados mais de 50 dias atrás e menos de 100 dias .
# find / -mtime +50 -mtime -100
29. Encontre arquivos alterados na última 1 hora
Para encontrar todos os arquivos que foram alterados na última hora.
# find / -cmin -60
30. Encontre os arquivos que foram modificados na última 1 hora
Para encontrar todos os arquivos que foram modificados na última hora.
# find / -mmin -60
31. Encontre arquivos acessados na última hora
Para encontrar todos os arquivos que foram acessados na última hora.
# find / -amin -60
Parte V – encontrar arquivos e diretórios com base no tamanho
32. Encontre arquivos de 50MB
Para encontrar todos os arquivos de 50MB , use .
# find / -size 50M
33. Encontre arquivos de Tamanhos variados exemplo: entre 50MB – 100MB
Para encontrar todos os arquivos que são maiores do que 50MB e menos de 100MB .
# find / -size 50M -size -100M
34. Localizar e Excluir Arquivos 100MB
Para encontrar todos os arquivos de 100MB e excluí-los usando um único comando.
# find / -size +100 M- exec rm -rf {} ;
35. Encontrar arquivos específicos e Excluir
Encontre todos os Arquivos .mp3 com mais de 10MB e exclua usando um único comando.
# find / -type f -name *.mp3 -size +10M -exec ls -l {} ;
É isso aí , estou terminando este post aqui , nos próximos artigos vamos discutir mais sobre outros comandos do Linux em profundidade com exemplos práticos.