comando “find”

Tecnologia infraestrutura e desenvolvimento

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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *