Como usar o comando Find no Linux

Ao trabalhar em um ambiente UNIX, como neste caso o Linux, é ideal saber em detalhes o uso de alguns comandos que nos ajudarão em múltiplas tarefas, sejam administrativas ou pessoais. Um deles é o comando Find que, como o próprio nome indica, é utilizado para localizar arquivos ou elementos que estão no sistema operacional de forma simples, mas funcional e completa.

Quando decidimos usar o comando find, podemos pesquisar e localizar a lista de arquivos ou diretórios com base nas condições que indicamos na sintaxe de uso a ser executada. A seguir, veremos o que é o comando find e como podemos usá-lo no Linux usando seus vários parâmetros.

O que é encontrarFind é um comando dentro de distribuições Linux que é muito útil apesar de ser um tanto desconhecido. É um comando que facilitará a tarefa de encontrar um arquivo quando temos muitos arquivos e é realmente difícil encontrá-lo. Além dos arquivos, você também pode pesquisar ou excluir diretórios inteiros. Você pode pesquisar com filtros específicos, como tamanho, nome, extensão, data …

Filtrando pesquisas com EncontrarUma das grandes vantagens de usar este comando é que podemos filtrar os resultados por várias variáveis, como:

  • Permissões
  • Grupos
  • Comercial
  • Tipo de arquivo
  • Data de criação ou modificação
  • Tamanho e mais opções disponíveis

Solvetic irá explicar vários métodos para usar o comando Find de forma eficaz no Linux e, para este caso, usaremos o Ubuntu 19.04. Veremos como podemos usar o comando find para encontrar e pesquisar arquivos com filtros usando o terminal Linux.

1. Como pesquisar arquivos por nome ou extensão com comandos no Linux


Esta é a parte mais essencial do uso do comando Find e para isso é necessário saber o nome do objeto ou sua extensão (.mp4, .txt ,. Jpg.webp, etc.) para obter um resultado direto.

Passo 1
Por exemplo, queremos encontrar um arquivo chamado Solvetic.docx que está em uma pasta na área de trabalho, neste caso devemos navegar até esse caminho e, em seguida, executar o seguinte:

 find -name Solvetic.docx 
Passo 2
Como resultado, veremos a pasta onde o referido arquivo está hospedado (se aplicável):

etapa 3
Pelo contrário, se quisermos ver todos os arquivos por uma extensão específica, como .docx, vamos executar o seguinte:

 find -name "* .docx"
Passo 4
O asterisco lista todos os arquivos com esta extensão

Etapa 5
A sintaxe de uso geral para o comando Find é a seguinte:

 encontre [-H] [-L] [-P] [caminho …] [expressão] 
Etapa 6
Esses parâmetros são:

-HEle não segue links simbólicos, exceto se os argumentos da linha de comando forem processados.

-EUSiga os links simbólicos.

-PNunca segue links simbólicos e é a opção padrão

Etapa 7
A opção [caminho…] indica o local onde a pesquisa deve ser realizada no Linux. O parâmetro [expressão] podem ser operadores, opções, testes ou ações a serem executados, vemos que, por padrão, o comando Find irá ignorar os links simbólicos disponíveis, mas com -L vamos buscá-los para resultados mais completos.
Existem três níveis de otimização que podemos selecionar quando executamos Find, estes são:

  • -O1
  • -O2
  • -O3

Etapa 8
O valor -O1 é a opção padrão e sua função é forçar o comando Localizar a pesquisar com base no nome do arquivo que definimos. El nivel -O2 se encarga de priorizar los filtros de nombre de archivo, luego va a ejecutar todos los filtros en base al tipo de archivo y posteriormente usará otras condiciones para resultados completos y el nivel -O3 ejecuta una optimización más profunda usando todos los recursos ao máximo.

Encontre opções de comandoAs opções gerais de localização são:

  • -O1: valor padrão, é um filtro baseado no nome do arquivo indicado.
  • -O2: Pesquise primeiro pelo nome do arquivo e depois por seu tipo
  • -O3: executa uma pesquisa que classifica automaticamente os resultados com base no uso de recursos
  • -maxdepth X: Pesquisa o diretório atual e subdiretórios nos níveis X.
  • -iname: Pesquise sem depender do texto.
  • -não: Retorna apenas os resultados que não correspondem à pesquisa
  • -tipo f: Pesquisa apenas arquivos.
  • -tipo d: executa a pesquisa de diretório

2. Como encontrar arquivos por nome ou extensão com comandos que não diferenciam maiúsculas de minúsculas no Linux

Este é um método que nos permite encontrar arquivos e exibir os resultados que contêm maiúsculas e minúsculas:

 find -iname solvetic.docx 

Procure nomes em diretóriosCom este método, podemos detectar todos os diretórios chamados Solvetic no diretório inicial (/):

 find / -type d -name Solvetic

Encontre arquivos sem permissões 777As permissões 777 (Rwxrwxrwx) com aquelas permissões que não possuem restrição, ou seja, qualquer usuário pode acessá-las.
Para ver os arquivos que não têm essa permissão, vamos executar o seguinte:

 find / -type f! -perma 777 

Agora, se quisermos ver os arquivos que têm 777 permissões, vamos executar:

 encontrar. -tipo f -perma 0777 -impressão 

Encontre arquivos SGID com 2.644 permissõesPermissão 2644 são arquivos que têm permissões de leitura e gravação, portanto, para ver esses arquivos que iremos executar:

 find / -perm 2644

Encontre arquivos SUID no LinuxOs arquivos SUID (definir o ID do usuário do proprietário na execução) são permissões de arquivo especiais concedidas a um elemento e servem para conceder permissões temporariamente a um usuário para executar um programa ou arquivo com as permissões do proprietário do arquivo.
Para vê-los, vamos executar o seguinte:

 find / -perm / u = s

Pesquisar arquivos SGIDOs arquivos SGID (definir o ID do grupo na execução) são um tipo especial de permissões de arquivo por meio do qual é possível herdar as permissões de acesso do usuário que está logado. Para visualizar esses arquivos, vamos executar o seguinte:

 find / -perm / g = s

Encontre arquivos somente leituraPara ver quais são os arquivos somente leitura no Linux, executaremos:

 find / -perm / u = r

Pesquisar arquivos executáveisSe quisermos saber com certeza quais arquivos são executáveis, podemos usar a seguinte linha:

 encontrar / -perma / a = x

3. Como encontrar arquivos com permissões 777 e chmod 755 no Linux

Passo 1
Estas são permissões especiais de leitura e gravação para ver os arquivos que vamos executar:

 find / -type d -perm 777 -print -exec chmod 755 {} \;

Passo 2
Agora, se quisermos encontrar os arquivos com as permissões 777 e chmod 644, executamos:

 find / -type f -perm 0777 -print -exec chmod 644 {} \;

4. Encontre e exclua arquivos com comandos no Linux

Encontre e exclua um arquivoCom Find podemos detectar um arquivo e proceder com sua exclusão, neste caso excluiremos o arquivo solvetic.docx para o qual executamos o seguinte:

 encontrar. -tipo f -nome "solvetic.docx" -exec rm -f {} \; 

Se quisermos excluir vários arquivos, podemos usar sua extensão:

 encontrar. -tipo f -nome "* .docx" -exec rm -f {} \;

Procure por arquivos ou diretórios vaziosPodemos especificar um caminho, como / tmp, para encontrar os diretórios vazios, neste caso executamos o seguinte:

 find / tmp -tipo d -vazio

Para pesquisar arquivos vazios, executamos:

 find / tmp -tipo f -vazio

Encontre arquivos ocultosNo Linux, e em todos os sistemas, alguns arquivos ficam ocultos por motivos de segurança, se por alguma tarefa administrativa ou de suporte for necessário ver o que são, podemos executar o seguinte comando com o caminho desejado, neste caso home:

 find / home -tipo f -nome ". *"

Encontre os arquivos de um usuárioOutra das muitas opções que o comando Find nos oferece é detectar os arquivos de um determinado usuário, por exemplo, para encontrar todos os arquivos do usuário solvético no diretório home vamos executar o seguinte:

 find / home -user solvetic

Encontre arquivos de um grupo específicoPara encontrar os elementos de um grupo, vamos executar a seguinte linha:

 find / home -group solvetic

5. Encontre arquivos em um intervalo de tempo com comandos no Linux

Passo 1
Com o comando Find será possível pesquisar os arquivos que foram usados ​​em um intervalo de tempo, por exemplo, para ver os arquivos dos últimos 30 dias que foram modificados podemos executar:

 find / -mtime 30 

Passo 2
Para ver os arquivos que apresentaram acesso executamos:

etapa 3
Para ver os arquivos modificados em um intervalo de dias, entre 1 e 5 por exemplo, vamos usar a seguinte linha:

 find / -mtime +1 -mtime -5

Passo 4
Se quisermos ver os arquivos que apresentaram alguma alteração na última hora ou minutos, podemos executar o seguinte:

 find / -cmin -45
Etapa 5
Isso listará os arquivos dos últimos 45 minutos:

Etapa 6
Da mesma forma, podemos listar os arquivos que foram acessados ​​em um intervalo de tempo:

 find / -amin -60 

6. Encontre arquivos de um tamanho específico com comandos no Linux

Passo 1
É possível definir um tamanho de arquivo dentro dos critérios de pesquisa, assim, ver todos os arquivos cujo peso é de 10 MB executamos:

 encontrar / -size 10M

Passo 2
Para estabelecer uma faixa de peso, usaremos:

 localizar / -size + 15M -size -90M

etapa 3
Se por algum motivo quisermos detectar e excluir um arquivo com um tamanho específico, usaremos a seguinte sintaxe:

 find / -size + 200M -exec rm -rf {} \;
ObservaçãoA versão de find em Unix possui várias deficiências, portanto devemos modificar nosso comando para obter o resultado desejado, por exemplo:

  • No linux
 encontrar. -size 50M | xargs ls -l
  • No Unix
 encontrar. -size 50M -print0 | xargs -0 ls -l 
Ao nível dos Scripts todos os resultados com find são positivos independentemente de obtermos ou não resultados, no linux temos a opção -print -quit no caso de não obtermos resultados.

A versão Unix de Find não possui esta opção e é melhor usá-la junto com grep para verificar o resultado, por exemplo.

 leia -r a se encontrar. -maxdepth 1 -name "$ a" -print -quit | grep -q. então echo "Arquivo encontrado" else echo "Nenhum arquivo encontrado" se

7. Encontre arquivos graficamente no Linux


As actuais distribuições Linux, com ambiente gráfico (GUI), oferecem-nos a possibilidade de utilizar o motor de busca integrado para detectar facilmente os ficheiros pretendidos, no caso do Ubuntu 19.04, podemos aceder a Ficheiros e no campo de pesquisa introduzir o termo pretendido para exibir imediatamente os resultados associados:

PROLONGAR

Vemos como a busca por arquivos no Linux é algo realmente completo graças ao comando Find e suas diversas variações para obter os melhores resultados conforme o caso.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave