FIND - Encontrar informações no Linux

Administradores de sistemas e usuários finais costumam precisar encontrar informações, como arquivos e diretórios em suas máquinas ou servidores. Um dos comandos mais utilizados no Linux para essa tarefa é o FIND, que pode ser utilizado com diversas opções nas pesquisas realizadas.

[ Hits: 1.890 ]

Por: Diego Mendes Rodrigues em 05/08/2020 | Blog: https://www.linkedin.com/in/diegomendesrodrigues/


Introdução



Administradores de sistemas e usuários finais costumam precisar encontrar informações, como arquivos e diretórios em suas máquinas ou servidores. Um dos comandos mais utilizados no Linux para essa tarefa é o find, que pode ser utilizado com diversas opções nas pesquisas realizadas.

Dentre as funcionalidades desse comando, podemos destacar: tamanho; data; horário de modificação; permissões; usuários; dentre diversas outras. Outro ponto interessante, é que esse comando está instalado por padrão na grande maioria das distribuições Linux.

O layout mais comum desse comando é:

find <startingdirectory> <opções> <termo de busca>

Inicia-se com o comando find, depois o argumento <startingdirectory>, que é o ponto de origem onde iremos iniciar a pesquisa. Quando o usuário desejar buscar o sistema todo, irá utilizar a raiz do sistema, o / neste argumento.

O segundo argumento utilizado é o filtro para procurar os arquivos (informações). Pode-se utilizar o nome de um arquivo, tipo, data de criação ou modificação, dentre outras opções. Já o terceiro argumento é um acompanhamento do segundo, onde especifica-se o termo de busca relevante.

Irei agora apresentar algumas opções de utilização esse comando.

Busca simples pelo nome de um arquivo:

find . -name arquivo.txt
./arquivo.txt

Neste exemplo, buscou-se na pasta atual (.), um arquivo como o nome arquivo.txt (-name arquivo.txt). O retorno foi de 1 arquivo com esse nome.

Busca ignorando case sensitive:

find /home/ -iname arquivo.txt
./arquivo.txt
./Arquivo.txt


Agora, buscou-se no diretório /home qualquer arquivo com o nome arquivo.txt, com letras maiúsculas ou minúsculas. Como retorno obteve-se 2 arquivos.

Busca com coringas:

find /home/ -name *rquivo*
./home/arquivo.txt
./home/Arquivo.txt
./home/Meus_Arquivo-NOVOS.txt
./home/arquivo.sh


Busca realizada no diretório /home, para qualquer arquivo que possua "rquivo". Como retorno obteve-se 4 arquivos.

Busca por diretórios:

find / -type -d -name Fotos arquivo.txt
/home/user/Fotos

Na busca por diretórios, utilizou-se "-type -d", obtendo 1 resultado no retorno.

Buscar por um tipo de arquivo:

find / -type f -name "*.odt"
./cursos.odt
./artigos.odt


Utilizou-se a opção -name para buscar arquivos com a extensão odt.

Buscar arquivos com a permissão 777:

find . -type f -perm 0777 -print

Este tipo de busca é muito utilizada em servidores Linux, para verificar se os usuários estão deixando arquivos com esse tipo de permissão, que é vulnerável, neste tipo de máquina.

Buscar arquivos e diretórios vazios:

find ArquivosCompartilhados/ -empty
ArquivosCompartilhados /DirVazio
ArquivosCompartilhados /arquivoVazio.txt


Buscar pastas ocultas:

find /tmp -type d -name ".*"

Buscar arquivos maiores que 50MB no diretório atual:

find . -type f -size +50M

Buscar e remover um arquivo:

find . -type f -name arquivoVazio.txt -exec rm -f {} ;

Neste exemplo, busca-se o arquivoVazio.txt, e caso ele seja encontrado, será removido do sistema.

Buscar por uma informações dentro do arquivo:

find ArquivosCompartilhados/ -name "*.*" -exec grep -Hin "drSolutions" {} ; ArquivosCompartilhados/fornecedores.txt:1:drSolutions

Buscamos arquivos com o texto "drSolutions" dentro deles.

Buscar arquivos acessados nas últimas 24 horas:

find . -type f -atime -1 -exec ls -l {} ;

Buscar arquivos acessados nos últimos 5 minutos:

find . -type f -amin -5

Buscar arquivos criados nas últimas 12 horas:

find . -type f -ctime -0.5 -exec ls -l {} ;

Buscar arquivos executáveis:

find / -perm /a=x

Buscar arquivos disponíveis apenas para leitura:

find / -perm /u=r

Caso você queira conhecer melhor o comando find, utilize o manual da seguinte forma:

man find

E você, como utiliza o comando find?

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Instalar um LAMP com boa performance

Instalar e utilizar o FFmpeg no Ubuntu

Principais novidades do Linux Mint 20 Ulyana

Distribuições Linux Para Computadores Antigos

Habilitar o HTTP/2 no Apache do Ubuntu 16.04/20.04

Leitura recomendada

Instalando o Gaim no Slackware via source

Monitorando Host via IPMI no Zabbix

Incrementando o Spacefm com plugins e ações personalizadas

CUPS + Jasmine Ubuntu Server 10.04 LTS (gerenciador de impressões e relatórios de impressão)

O "Synaptic"

  
Comentários
[1] Comentário enviado por mauricio123 em 05/08/2020 - 20:33h


Muito legal muitos eu vou querer anotar.

___________________________________
Conhecimento não se Leva para o Túmulo.

[2] Comentário enviado por diegomrodrigues em 07/08/2020 - 13:30h


[1] Comentário enviado por mauricio123 em 05/08/2020 - 20:33h


Muito legal muitos eu vou querer anotar.

___________________________________
Conhecimento não se Leva para o Túmulo.


Obrigado!

[3] Comentário enviado por ElmiroDuarte em 07/08/2020 - 15:38h

Ótimo texto, entretanto, na parte:
Buscar e remover um arquivo:
$ find . -type f -name arquivoVazio.txt -exec rm -f {} ;

ficou faltando uma barra invertida, o código deveria ser
$ find . -type f -name arquivoVazio.txt -exec rm -f {} \;

[4] Comentário enviado por mauricio123 em 07/08/2020 - 22:05h


[3] Comentário enviado por ElmiroDuarte em 07/08/2020 - 15:38h

Ótimo texto, entretanto, na parte:
Buscar e remover um arquivo:
$ find . -type f -name arquivoVazio.txt -exec rm -f {} ;

ficou faltando uma barra invertida, o código deveria ser
$ find . -type f -name arquivoVazio.txt -exec rm -f {} \;



Não testei esse comando. Mas, bem observado.


Contribuir com comentário