Comando find: O que é, e como utilizar o comando no Linux?

Tempo de leitura: 5 min

Escrito por Fernando Silva

JUNTE-SE Á NOSSA LISTA DE SUBSCRITORES

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

100% livre de spam.

Compartilhe agora mesmo:

Você já imaginou localizar seus arquivos e diretórios de forma rápida e com pesquisas específicas?

O comando find é uma poderosa ferramenta de linha de comando que permite que os administradores do sistema localizem e gerenciem arquivos e diretórios com base em uma ampla gama de critérios de pesquisa.

Você pode localizar arquivos por nome, tipo ou extensão, tamanho, permissões, etc.

Um dos programas de linha de comando mais poderosos e flexíveis da caixa de ferramentas diária, por isso vale a pena gastar um pouco mais de tempo nele.

Além de localizar arquivos e diretórios, combinar o comando find com outras pessoas permite que você execute ações nos resultados.

A adição da -exec permite que os administradores de sistemas executem comandos externos e executem ações como copiar, mover, excluir ou alterar as permissões dos arquivos que correspondem aos critérios especificados, como tamanho, nome etc.

A sintaxe geral para o comando find é:

find {path} {name -of-file or dir-to-search} {action-to-take}

  • path especifica o diretório
  • name-of file or dir-to-search : Nome do arquivo ou diretório a ser procurado
  • action-to-take: como copiar, excluir, mover etc.

Neste tutorial, explicaremos como localizar arquivos e diretórios que correspondem aos padrões especificados. Também veremos como executar ações nos arquivos ou diretórios que o comando find localiza. 

Encontre arquivos e diretórios

Para procurar um arquivo específico, execute o seguinte comando a partir da raiz (/). O comando contém o nome exato do arquivo que você está procurando.

find . -name file22.txt

Resultado

./test/file22.txt

./sales/file22.txt

Observe que os resultados incluem o caminho. Isso é importante se você não souber o diretório em que o arquivo está localizado ou quando estiver em mais de um local.

Você também pode procurar o arquivo em outro diretório enquanto ainda estiver no local atual. Nesse caso, você precisa fornecer o caminho para o diretório em que deseja pesquisar.

find ./test -name file22.txt

Procurando arquivos específicos em outro diretório

No nosso caso, procuraremos todos aqueles que começam com o arquivo de letras no diretório de teste.

find ./test -name file*

Resultado

./test/file22.txt

./test/file30.doc

./test/file1.txt

./test/file5,doc

Procurar arquivos por extensão

Para procurar arquivos com uma certa extensão, adicione-o ao comando.

find . -name *.txt

Resultado

./test/subtest/subfil.txt

./test/file22.txt

./test/file1.txt

./home1/files32.txt

./home2/file22.txt

./qa/tags.txt

Encontre arquivos e diretórios por nome

Use o comando abaixo para procurar arquivos e diretórios começando com as letras qa. Em nosso computador, temos os arquivos qatree.txte qa.txt, além de um diretório com o nome qa.

Se executarmos o comando;

find ./ -name “qa*”

Retorna a seguinte saída

./test/qatree.pdf

./test/qa.txt

./home/qa

O comando retorna os arquivos e diretórios que correspondem aos critérios de pesquisa. Para localizar apenas arquivos ou diretórios, é necessário especificar isso no comando.

Encontre apenas arquivos ou diretórios

Apenas para arquivos, use a type f.

Somente arquivos

find ./ -type f -name “qa*”

Resultado

./test/qatree.pdf

./test/qa.txt

Somente diretórios

Adicione a type da opção para localizar apenas diretórios.

find ./ -type d -name “qa*”

Resultado

./home/qa

Comando de localização sem distinção entre maiúsculas e minúsculas

Todas as pesquisas com –name diferenciam maiúsculas de minúsculas e não fornecerão resultados com letras maiúsculas. Para obter todos os casos, use a –iname.

find ./ -iname “qa*”

Resultado

./test/qatree.pdf

./test/qa.txt

./test/QAtest.txt

./home/qa

Procure um arquivo em vários diretórios

Para encontrar os arquivos em diferentes diretórios, adicione seus caminhos no comando No nosso caso, verificaremos os diretórios teste numeric.

find ./test ./numeric -name file22.txt -type f

Resultado

./test/file22.txt

/root/numeric/file22.txt

Encontre vários arquivos com extensões diferentes em todos os diretórios

Você pode usar o comando find para localizar vários arquivos que compartilham as diferentes extensões, como *.doc, *.txt *.pdfetc.

Isso pode ser feito separadamente, uma extensão de cada vez, ou usando apenas um comando que inclua todas as extensões desejadas.

find . -type f ( -name “*.txt” -o -name “*.pdf” -o -name “*.doc” )

Resultado

./test/subtest/subfil.txt

./test/qatree.pdf

./test/file22.txt

./test/qa.txt

./test/file30.doc

./books/acro.pdf

./data1/FILE22.txt

./docs/files32.txt

Encontre arquivos que contenham determinado texto

Às vezes, você deseja acessar um arquivo contendo determinado texto, mas não consegue recuperar seu nome ou local. Este comando permite encontrar todos os arquivos que contêm o texto de destino.

“Para procurar todos os arquivos que contêm a palavra hiperconvergência”, use;

find / -type f -exec grep -l -i “hyperconvergence” {} ;

Resultado

/root/numeric/hci

/root/HCIP

A opção –i permite que o comando ignore casos e encontre o texto em maiúsculas ou não, como hiperconvergência, hiperconvergência etc.

Para procurar os arquivos em um diretório específico, basta adicioná-lo ao comando

find ./numeric -type f -exec grep -l -i “hyperconvergence” {} ;

Resultado

./numeric/hci

Encontre arquivos e diretórios com base no tamanho

Você pode encontrar todos os arquivos ou diretórios menores, iguais ou maiores que um determinado tamanho, dentro de um determinado intervalo ou vazios. 

Use o formato de tamanho apropriado, dependendo do tipo de arquivo ou diretório que você está procurando.

Material Extra

Se você gostou das dicas e quer mais conteúdos sobre Linux, continue acompanhando o nosso blog.

Comandos Básicos do Linux para você imprimir.

100% livre de spam.

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

JUNTE-SE Á NOSSA LISTA DE SUBSCRITORES

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

100% livre de spam.