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.001 ]

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

Ubuntu ou Debian com KDE Plasma

Instalando Adicionais para Convidados para VirtualBox no Debian, Linux Mint e Ubuntu

13 dicas de segurança para o Apache

Linuxfx OS - Distribuição para quem deseja o visual do Windows 10

Nmap - Comandos úteis para um administrador de sistemas Linux

Leitura recomendada

Bioinformática - Instalação do SNAP workbench

Editando PDF com Inkscape

Visualização do status das contas no GAIM

Gravando vídeo com placa de TV através do transcode

Web Rádio - Pedidos Musicais Automáticos

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts