Você está na página 1de 7

Home / Dicas e Tutoriais / 35 Usos Práticos do Comando Find

35 Usos Práticos do Comando Find


Posted by: cleuberadmin in Dicas e Tutoriais, Linux, Servidores Linux 22 dias ago 0 81 Views
Olá pessoal.
Não tem como memorizar todos os comandos do Linux de uma vez só. Então o melhor a fazer é
pesquisar e documentar, para que possamos consultar depois, quando não nos lembrarmos de algum
comando, ou parâmetro.
Hoje aqui vou abordar o uso do comando find. Se você deseja ver o manual completo do find, basta
digitar “man find” no terminal e ele mostrará o manual da ferramenta. Achei no site do tecmint, um
bom resumo de 35 usos deste comando e vou repassar aqui. São exemplos práticos do uso do find.

Sobre o Find
O comando find é um dos comandos usados mais importantes no Linux. Ele é usado para pesquisar
e listar arquivos e diretórios com base nas condições especificadas. O find pode ser usado com uma
variedade de condições, como encontrar arquivos por permissões, usuários, grupos, tipo de
arquivo, data, tamanho e outros critérios possíveis.
Ele pode também filtrar os resultados e então realizar uma ação sobre os arquivos encontrados,
como por exemplo encontrar e excluir ou copiar ou fazer o que você desejar.
Para mostrar os 35 comandos find mais usados. Dividi a seção em cinco partes.
1. Parte I: Encontrar arquivos pelos nomes
2. Parte II: Encontrar arquivos com base em suas permissões
3. Parte III: Encontrar arquivos com base em Usuários e Grupos
4. Parte IV: Encontrar arquivos e diretórios com base na data e hora
5. Parte V: Encontrar arquivos e diretórios com base no tamanho
Parte I – Encontrar Arquivos Pelos Nomes
Obs. Para você fazer esses exercícios na sua casa, precisará ter os mesmos arquivos de teste que
usaremos aqui. Se preferir criá-los para reproduzir melhor o exercício, seria interessante. Eu faria
isso com o comando touch para arquivos e mkdir para pastas.
touch receita.txt Receita.txt receita.php login.php index.php
mkdir Receita

1. Encontre arquivos usando o nome na pasta atual


Localizar todos os arquivos cujo nome é receita.txt na pasta de trabalho atual.
find . -name receita.txt

./receita.txt

2. Encontrar arquivos no diretório home


Localizar todos os arquivos dentro da pasta /home com o nome receita.txt .
find /home -name receita.txt

/home/receita.txt

3. Localizar arquivos usando o nome e Ignorando o “case” (maiúsculas ou minúsculas)


Localizar todos os ficheiros cujo nome é receita.txt e contém letras maiúsculas e minúsculas no
diretório /home.
find /home -iname receita.txt

./receita.txt
./Receita.txt

4. Encontrar Diretórios Usando Nome


Localizar todos os diretórios cujo nome é receita em /.
find / -type d -name Receita

/Receita

5. Localizar arquivos por formato. Ex: PHP


Encontrar todos os arquivos php cujo nome é receita.php no diretório de trabalho atual.
find . -type f -name receita.php

./receita.php

6. Localizar todos os arquivos PHP no diretório


Encontrar todos os arquivos php em um diretório.
find . -type f -name "*.php"

./receita.php
./login.php
./index.php

Parte II – Localizar Arquivos Com Base em suas Permissões


Obs. Para saber mais sobre permissões comuns, e permissões especiais, tais como as SGID, SUID e
STICKY, consulte este outro artigo abaixo

7. Localizar arquivos com permissões 777.


find . -type f -perm 0777 -print

8. Encontre arquivos sem permissão 777.


find / -type f ! -perm 777

9. Localizar arquivos SGID com permissões 664.


find / -perm 2644

10. Localizar arquivos “Stick Bit” com permissões 551.


find / -perm 1551

11. Encontrar arquivos SUID.


find / -perm /u=s

12. Encontrar arquivos SGID.


Pesquisar os arquivos SGID .
find / -perm /g=s

13. Encontre Leia arquivos somente


Pesquisar os arquivos somente leitura.
find / -perm /u=r
14. Encontrar arquivos executáveis
Pesquisar os arquivos executáveis.
find / -perm /a=x

15. Encontrar arquivos com 777 permissões e chmod para 644


Encontrar todos os arquivos de permissão 777 e usar comando chmod para definir as permissões
para 644.
find / -type f -perm 0777 -print -exec chmod 644 {} \;

16. Encontra Diretórios com Permissões 777 e fazer chmod para 755
Encontrar todos os diretórios com permissão 777 e usar chmod para definir as permissões para
755 .
find / -type d -perm 777 -print -exec chmod 755 {} \;

17. Encontrar e remover um único arquivo


Para encontrar um único arquivo chamado receita.txt e removê-lo.
find . -type f -name "receita.txt" -exec rm -f {} \;

18. Encontrar e remover vários arquivos por extensão


Para localizar e remover vários arquivos, como .mp3 ou .txt , em seguida, usar.
find . -type f -name "*.txt" -exec rm -f {} \;

Ou

find . -type f -name "*.mp3" -exec rm -f {} \;

19. Encontre todos os arquivos vazios


Para encontrar todos os arquivos vazios sob certo caminho.
find /tmp -type f -empty

20. Encontre todos os diretórios vazios


Para registrar todos os diretórios vazios sob certo caminho.
find /tmp -type d -empty

21. Arquivo todos os arquivos ocultos


Para encontrar todos os arquivos ocultos, use o comando abaixo.
find /tmp -type f -name ".*"
Parte III – Localizar arquivos com base em Proprietários e
Grupos
22. Encontre único arquivo com base no usuário
Para encontrar todos os arquivos ou um único arquivo chamado receita.txt dentro da raiz “/”
find / -user root -name receita.txt

23. Localizar todos os arquivos com base no usuário


Para encontrar todos os arquivos que pertence ao usuário cleuber dentro da pasta /home.
find /home -user cleuber

24. Encontre todos os arquivos com base em Grupo


Para encontrar todos os arquivos que pertence ao grupo developer dentro da pasta /home.
find /home -group developer

25. Localizar arquivos particulares de um usuário


Para encontrar todos os arquivos .txt do usuário cleuber na pasta /home.
find /home -user tecmint -iname "*.txt"

Parte IV – Localizar arquivos e diretórios com base na data e


hora
26. Encontre as últimas 50 Dias arquivos modificados
Para encontrar todos os arquivos que são modificados 50 dias atrás.
find / -mtime 50

27. Encontre arquivos acessados nos últimos 50 dias


Para encontrar todos os arquivos que foram acessados até 50 dias atrás.
find / -atime 50

28. Encontre os arquivos modificados entre 50 a 100 dias atrás


Para encontrar todos os arquivos que foram modificados mais de 50 dias para trás e menos de 100
dias.
find / -mtime +50 -mtime -100

29. Procurar arquivos alterados na última hora


Para encontrar todos os arquivos que foram alterados na última hora.
find / -cmin -60
30. Procurar arquivos modificados na última 1 hora
Para encontrar todos os arquivos que foram modificados na última hora.
find / -mmin -60

31. Procurar arquivos acessados na última 1 hora


Para encontrar todos os arquivos que foram acessados pela última vez na última hora.
find / -amin -60

Parte V – Localizar arquivos e diretórios com base no


tamanho
32. Encontrar arquivos de 50MB
find / -size 50M

33. Encontre arquivos de tamanho entre 50MB a 100MB


Para encontrar todos os arquivos que são maiores do que 50 MB e menores de 100 MB.
find / -size +50M -size -100M

34. Localizar e apagar arquivos de 100MB


Para encontrar todos os arquivos de 100MB e excluí-los usando um único comando.
find / -size +100M -exec rm -rf {} \;

35. Procurar arquivos específicos e Excluir


Pesquisar os arquivos de extensão .mp3 com mais de 2MB e excluí-los usando um único comando.
find / -type f -name *.mp3 -size +2M -exec rm {} \;

Conclusão
Estes comandos find são extremamente úteis e com certeza em algum momento você precisará
muito deles. Eu não usei outras ações do “-exec” aqui para os arquivos que foram encontrados, mas
a sintaxe do exec para uma ação de cópia, após o comando find, por exemplo, seria:
-exec cp {} /pasta-destino \;

Exemplo – Encontrar arquivos mp3 e copiá-los para a pasta /tmp/musicas:


find . -type f -name "*.mp3" -exec cp {} /tmp/musicas \;

E a mesma regra se aplica para o comando de mover (mv).


Para saber mais dos comandos de Linux, um outro artigo talvez possa ser útil.
Comandos Básicos de Linux

Até a próxima!
Cleuber

Você também pode gostar