Comando Linux FIND com exemplos

Você sabe quantos arquivos estão em uma nova instalação do Linux ? Se você usa o PopOS! Distribuição Linux(Linux distribution) como exemplo, existem mais de 31.000 arquivos. Isso antes de você começar a criar documentos, armazenar músicas, baixar PDFs ou organizar fotos.

Por causa disso, encontrar o arquivo ou a pasta certa no Linux quando você precisar se torna um desafio. Neste artigo, você aprenderá a usar o comando Linux FIND e daremos todos os exemplos que pudermos.

Sintaxe do comando Linux FIND(Linux FIND Command Syntax)

Sintaxe refere-se a como as palavras, ou comandos, são colocados juntos. Assim(Just) como uma frase normal pode se tornar um absurdo apenas embaralhar as palavras, os comandos podem falhar se não forem usados ​​na sintaxe adequada.

encontre [caminho] [condições] [ações](find [path] [conditions] [actions])

Aqui está o que isso significa:

find – inicia o utilitário Find no (Find)Linux

caminho(path ) – onde procurar

condições(conditions ) – argumentos que você deseja aplicar à pesquisa

ações(actions ) – o que você quer fazer com os resultados

Um exemplo simples usando todos os três se parece com:

encontrar . -name file-sample.rtf -print(find . -name file-sample.rtf -print)

Como você adivinhou, isso encontrará o nome do arquivo file-sample.rtf

O caminho do ponto ( . ) diz ao find para procurar no diretório atual e em todos os diretórios dentro dele. 

A condição -name diz ao find para obter o arquivo com esse nome específico.

A ação -print diz ao FIND para mostrar os resultados na tela.

O ponto e -print são padrões para o comando find. Portanto, ele ainda fará a mesma coisa se você não os usar. Então, find -name file-sample.rtf lhe dará os mesmos resultados.

Linux FIND em outro diretório(Linux FIND In Another Directory)

Você pode pesquisar em um diretório diferente daquele em que está. Basta(Just) inserir o caminho para o diretório após FIND . Se você estiver na raiz e souber que o arquivo está em algum lugar no diretório home/user , você usaria:

find home/user -name file-sample.rtf

Ainda é uma pesquisa recursiva, portanto, passará por todos os diretórios em user .

Linux FIND Pesquisa em vários diretórios(Linux FIND Search Multiple Directories)

Se você quiser pesquisar em vários diretórios de uma só vez, basta listá-los no comando, separados por um espaço.

find /lib /var /bin -name file-sample.rtf

Linux FIND sem recursão ou limitando a recursão(Linux FIND with No Recursion or Limiting Recursion)

Se você usasse o comando FIND acima no nível raiz, ele procuraria em todos os diretórios do sistema. Então, se você quiser ficar apenas no diretório atual, use a opção -maxdepth . O número após -maxdepth informa ao Find quão profundo deve ir antes de parar. 

Usar -maxdepth 1 significa apenas este diretório. 

find -name file-sample.rtf -maxdepth 1

Usar -maxdepth 2 ou um número maior significa ir muitos níveis mais profundos.

find -maxdepth 5 -name file-sample.rtf

Exemplo de curinga do Linux FIND(Linux FIND Wildcard Example)

O comando FIND usa o asterisco ( (FIND)* ) como curinga. Use-o para qualquer parte do nome que você não tem certeza. Pode ser usado mais de uma vez no nome. Sem o tipo de arquivo como parte do nome do arquivo, os resultados também incluirão os diretórios correspondentes.

find home/user -name file*sample*

Linux FIND por exemplo de tipo(Linux FIND by Type Example)

Para pesquisar apenas um arquivo ou diretório, use a opção -type e o descritor apropriado. Existem alguns, mas os de arquivo e diretório são os mais comuns:

f - arquivo

d – diretório

b – dispositivo de bloqueio

c – dispositivo de caractere

l – link simbólico

s – soquete

find home/user -name file*sample* -type d

Exemplo que não diferencia maiúsculas de minúsculas do Linux FIND(Linux FIND Case Insensitive Example)

Ao contrário do Windows(Windows) , o Linux se preocupa se uma letra é maiúscula ou minúscula. Portanto, se você deseja que ele pesquise tanto File-Sample.rtf quanto file-sample.rtf, use a opção -iname .

find home/user -iname File-Sample.rtf

Linux FIND Vários Exemplo de Arquivos(Linux FIND Several Files Example)

Digamos que você queira encontrar as versões .rtf e .html de um arquivo. Isso pode ser feito em um comando usando o operador -o (or). (-o)Em algumas distribuições, pode ser necessário colocar os nomes entre colchetes, como ( -name file-sample.rtf -o -name file-sample.html )

find home/user -name file-sample.rtf -o -name file-sample.html

Linux FIND arquivos que não correspondem a um nome(Linux FIND Files That Don’t Match a Name)

Talvez você saiba que existe a versão .html de um arquivo, mas não se houver outros. Você pode filtrar a versão .html da pesquisa usando a opção -not .

find home/user -name file-sample* -not -name *.html

Linux FIND sem resultados de erro(Linux FIND Without Error Results)

No exemplo de localizar sem recursão, observe que ele listou todos os diretórios nos quais não pôde pesquisar e o resultado correto. Isso é irritante. Vamos impedir que ele mostre todos os diretórios “ Permissão(Permission) negada”. Combine-o com outro comando de terminal Linux(Linux terminal command) , grep. Você também pode usar Localizar(Find) com grep para localizar arquivos com palavras específicas neles(find files with specific words in them) .

find -maxdepth 5 -name file-sample.rtf 2>&1 | grep -v “Permission denied”

Vamos dividir 2>&1 .

2 – representa stderr que é a abreviação de saída de erros padrão. 

1 – representa stdout que é a abreviação de saída padrão

> – significa redirecionar qualquer saída que esteja à esquerda para o que estiver à direita.

& – significa juntar.

Portanto, 2>&1 significa pegar os erros padrão e redirecioná-los e, em seguida, colocá-los juntos com a saída padrão em uma saída.

Agora vamos ver | grep -v “Permission denied” .

| (chamado de pipe) – diz ao Linux para alimentar os resultados do que estiver à esquerda dele para o que estiver à sua direita. Está sendo alimentado para o comando grep.

grep – é um utilitário de pesquisa de texto. 

-v – diz ao grep para procurar qualquer coisa que não corresponda ao texto à esquerda do -v. Nesse caso, está dizendo ao grep para encontrar apenas qualquer coisa que não contenha o texto ou a string " Permissão(Permission) negada". Portanto, o grep mostrará apenas os resultados que você está procurando e quaisquer erros que não correspondam a “ Permissão(Permission) negada”.

Linux FIND por exemplo de permissões(Linux FIND by Permissions Example)

Para usar isso bem, você precisa aprender as permissões do Linux(learn Linux permissions)

Todos os arquivos de exemplo têm as permissões 664, exceto um com as permissões 775. Use a opção -perm para localizá-lo.

find Documents/ -name file-sample* -type f -perm 775

Linux FIND por exemplo de tamanho(Linux FIND by Size Example)

Encontrar arquivos por tamanho é útil para fazer com que esses arquivos enormes preencham seu disco rígido. Use a opção -size, o tamanho desejado e um dos sufixos a seguir. Se nenhum sufixo for usado, o padrão -size será b . Para encontrar arquivos iguais e maiores que um determinado tamanho, coloque o sinal de mais (+) na frente do tamanho.

M – Megabytes

G – Gigabytes

k – Quilobytes

b – blocos (512 bytes – padrão)

c – bytes

w – palavras (dois bytes juntos)

find -size +500k

Linux FIND pelo proprietário(Linux FIND by Owner)

Existem duas maneiras de encontrar arquivos por proprietário. Um é pelo nome de usuário do proprietário e o outro é pelo grupo do usuário. Para localizar por nome de usuário, use a opção -user , seguida pelo nome de usuário. Para localizar por grupo de usuários, use -group seguido do nome do grupo.

find -user groupname ou find -user username

Arquivos Linux FIND por último exemplo modificado(Linux FIND Files by Last Modified Example)

Para localizar arquivos que foram modificados ou editados nos últimos X dias, use -mtime seguido por um número. Colocar um sinal de menos ( ) na frente do número encontrará qualquer coisa alterada dentro de muitos dias antes. Um sinal de mais ( + ) significa dentro de muitos dias antes de agora. 

find -name “file-sample*” -mtime +5 (greater than 5 days ago)

find -name “file-sample*” -mtime -5 (less than 5 days ago)

Para localizar pela última modificação em minutos, use a opção -mmin seguida do número de minutos. Use o + e – como acima.

find -name “file-sample*” -mmin -5

find -name “file-sample*” -mmin +5

Arquivos FIND do Linux por exemplo de horário do último acesso(Linux FIND Files by Last Accessed TIme Example)

A opção usada para localizar arquivos com base em quando eles foram abertos pela última vez é -atime para dias e -amin para minutos. Siga-o com o número de dias ou minutos para voltar e use o sinal + e – como maior que e menor que.

find -name “file-sample*” -atime -5

find -name “file-sample* -amin -5

Combine FIND com outros comandos do Linux(Combine FIND with Other Linux Commands)

Há um exemplo acima de usar find com o comando grep e você pode usá-lo com muitos outros. Você pode ver que usar find e outros comandos pode ser muito poderoso e economizar muito tempo. Imagine ter que excluir um monte de um tipo específico de arquivo. Em vez de pesquisar no explorador de arquivos, basta criar o comando certo e isso é feito em segundos. Como você usará o comando find agora?



About the author

Sou um especialista em computadores com mais de 10 anos de experiência e me especializei em ajudar as pessoas a gerenciar seus computadores em seus escritórios. Escrevi artigos sobre tópicos como otimizar sua conexão com a Internet, como configurar um computador para a melhor experiência de jogo e muito mais. Se você está procurando ajuda com qualquer coisa relacionada ao seu trabalho ou vida pessoal, eu sou a pessoa para você!



Related posts