Como usar o comando find no Linux para pesquisar arquivos?

How Use Find Command Linux Search Files



Se você é um usuário Linux, então não pode apenas contar com a GUI para realizar várias tarefas, portanto, um conhecimento sólido dos comandos de terminal é realmente essencial. Todas as distribuições baseadas em Linux executam os comandos para realizar diferentes tarefas administrativas.

Embora o terminal Linux seja uma interface de texto que parece complexa, na verdade é muito flexível, fácil de usar e uma ferramenta bastante útil. Os comandos podem ser facilmente copiados de fontes online e colados no terminal para realizar várias operações. Existem muitos comandos, mas esta postagem se concentrará no comando find.







O comando find é usado para localizar, filtrar ou pesquisar arquivos e pastas em seu sistema de acordo com as condições especificadas pelo usuário e realizar várias operações neles.



Vamos discutir como usar o comando find, sua sintaxe e várias operações realizadas por este comando em detalhes.



Sintaxe do comando find no Linux

A sintaxe do comando find é mostrada abaixo:





achar [caminho] [opções] [expressão]

Três atributos acompanham o comando find:

  • [caminho]: define o diretório onde começar a busca.
  • [opções]: Define os critérios de filtragem, por exemplo pesquisar um arquivo / pasta por seu nome, permissão, hora ou data.
  • [expressão]: define quais ações executar com o arquivo.

Todos os atributos acima são opcionais, pois podem ser usados ​​de acordo com o requisito.



Para demonstração, criei diferentes diretórios e alguns arquivos de texto, veja a imagem abaixo:

find / 1% 20copy.png

Encontrar um arquivo pelo nome

Para pesquisar o arquivo por nome, use o comando fornecido a seguir:

$achar.-nomeMyTextFile1.txt

find / 2% 20copy.png

O ponto após localizar no comando acima indica o diretório atual.

Se você não se lembra do nome exato do arquivo, a pesquisa pode ser refinada ainda mais e não diferencia maiúsculas de minúsculas usando -iname no lugar do nome:

$achar.-inamemytextfile1.txt

find / 3% 20copy.png

Encontrar um arquivo por tipo

Para localizar um arquivo por seu tipo, use a opção -type com letras que também são conhecidas como descritores, como f para arquivos, d para diretórios, l para o link simbólico e s para sockets.

Para pesquisar todos os diretórios, use:

$achar.-modelod

find / 4% 20copy.png

Para pesquisar arquivos, use:

$achar.-modelof

c% 20copy.png

Encontrar um arquivo pela extensão do arquivo

Para pesquisar o arquivo por padrão, por exemplo, extensão de arquivo, como exibir todos os arquivos com .txt, use o seguinte comando:

$achar.-nome *.TXT

find / 5% 20copy.png

Todos os arquivos com .txt serão exibidos junto com seus diretórios correspondentes.

Encontrar e excluir um arquivo

Para pesquisar e excluir um arquivo, use o comando abaixo:

$achar.-inamemytextfile1.txt-exec rm {};

find / 6% 20copy.png

O comando acima primeiro pesquisa o arquivo e depois o exclui. A imagem está demonstrando que MyTextFile1 foi excluído.

Para excluir todos os arquivos com extensão .txt, você pode usar o comando anexado:

$achar.-nome *.TXT-excluir

find / 7% 20copy.png

Encontrar um arquivo por tamanho

O comando find também pode pesquisar um arquivo por tamanho. Basta usar a opção -size junto com seus descritores, como b para blocos de 512 Kb, c para bytes, k para kilobytes, M e G para megabytes e gigabytes respectivamente:

$achar.-modelof-Tamanho -1024c

find / 8% 20copy.png

O comando mencionado acima pesquisa todos os arquivos com um tamanho inferior a 1024 bytes. A pesquisa pode ser ainda mais refinada, por exemplo, se quisermos encontrar todos os arquivos com menos de 1Mb, então usamos o comando abaixo:

$achar.-modelof-Tamanho1M

ab / a% 20copy.png

Para todos os arquivos maiores que 1 MB, use o comando abaixo:

$achar.-modelof-Tamanho+ 1M

ab / b% 20copy.png

Um intervalo de tamanho também pode ser definido, usando o comando anexado:

$achar. -modelof-Tamanho+ 1M-Tamanho10M

Encontrar arquivos por permissão

Para pesquisar um arquivo com permissão, usaremos a opção -perm e o código de permissão, conforme demonstrado abaixo:

$achar.-perma 664

find / 10% 20copy.png

Encontre um texto em arquivos de texto

Para localizar texto em vários arquivos de texto em seu sistema, s use o comando fornecido a seguir:

$achar.-modelof-nome *.TXT-exec pegada'Olá'{};

find / 12% 20copy.png

O comando está pesquisando a palavra Hello nos arquivos de texto. A saída são sequências de texto dos arquivos de texto que contêm Hello.

Encontrar um arquivo por data e hora de modificação

Para acessar um arquivo por sua última modificação, use o comando abaixo:

$achar.-modelof-iname *.TXT-mmin+10

find / 13% 20copy.png

O comando acima está procurando por um arquivo modificado pela última vez há quatro minutos e m significa a modificação.

$achar. -modelof-iname *.TXT-amin -10

find / 14% 20copy.png

O comando acima está procurando um arquivo acessado pela última vez há 4 minutos, e o a in amin significa Acesso. Para acessar um arquivo que foi modificado há quatro dias, use -mtime +4 no lugar de mmin +4.

Conclusão

O comando find no Linux é um comando muito útil que permite pesquisar um arquivo ou diretório usando diferentes critérios, e ainda permite que você modifique os arquivos do terminal. Neste guia, observamos a sintaxe do comando find no Linux e aprendemos como usar o comando find para executar várias funções.