40 Melhores Exemplos de Encontrar comando no Linux

O Linux find comando é uma ferramenta poderosa que permite que os administradores de sistema para localizar e gerenciar arquivos e diretórios com base em uma ampla gama de critérios de pesquisa. Ele pode encontrar diretórios e arquivos pelo seu nome, seu tipo, ou extensão, tamanho, permissões, etc.

além de localizar arquivos e diretórios, combinando o comando find com outros permite que você tome medidas sobre os resultados., A adição da opção permite que os administradores do Sys executem comandos externos e executem acções como copiar, mover, apagar ou alterar as permissões dos ficheiros correspondentes aos critérios especificados, tais como tamanho, nome, etc.

neste artigo, começaremos por explicar os comandos básicos do Linux find com exemplos. Isto irá mostrar-lhe como encontrar arquivos e diretórios. Vamos então mostrar-lhe como usar a opção para agir nos arquivos ou diretórios com base no seu tamanho, permissões, etc.,

A sintaxe geral para o comando localizar

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

Onde

neste tutorial, iremos explicar como localizar arquivos e diretórios correspondentes padrões especificados. Também veremos como realizar ações nos arquivos ou diretórios que o comando find localiza. O guia é baseado no Ubuntu, mas é aplicável à maioria das distribuições e versões Linux.

encontre ficheiros e directórios

encontre ficheiros específicos pelo nome ou extensão

para procurar um ficheiro específico, execute o seguinte comando a partir do root (/)., O comando contém o nome exacto do ficheiro que procura.

find . -name file22.txt

Saída

./test/file22.txt./sales/file22.txt

por Favor, note que os resultados incluem a caminho. Isto é importante se você não sabe o diretório onde o arquivo está localizado, ou quando ele está em mais de um lugar.

pode também procurar o ficheiro noutra pasta, ainda na localização actual. Neste caso, você precisa fornecer o caminho para o diretório onde você deseja pesquisar.,

find ./test -name file22.txt

à procura de ficheiros específicos noutro directório

no nosso caso, iremos procurar todos aqueles que começam com o ficheiro de letras no directório de teste.

find ./test -name file*

Output

./test/file22.txt./test/file30.doc./test/file1.txt./test/file5,doc

Search for files by extension

To find a file in Linux with a certain extension, add it to the command.,

find . -name *.txt

Saída

./test/subtest/subfil.txt./test/file22.txt./test/file1.txt./home1/files32.txt./home2/file22.txt./qa/tags.txt

Localizar arquivos e pastas por nome

Use o comando abaixo para olhar para os arquivos e diretórios que começam com as letras qa. Em nosso computador, temos o qatree.txt e qa.txt bem como arquivos de um diretório com o nome qa.,

Se executar o comando;

find ./ -name "qa*"

Ele retorna a seguinte saída

./test/qatree.pdf./test/qa.txt./home/qa

O comando retorna os arquivos e pastas que correspondem aos critérios de pesquisa. Para encontrar Apenas arquivos ou diretórios, você precisa especificar isso no comando.

Procurar ficheiros ou pastas apenas

apenas para ficheiros, utilizar otype f switch.

apenas Ficheiros

find ./ -type f -name "qa*"

Saída

./test/qatree.pdf./test/qa.txt

somente pastas

Adicionar type d opção para localizar diretórios só.,

find ./ -type d -name "qa*"

Saída

./home/qa

não diferencia Maiúsculas de minúsculas comando localizar

Todas as pesquisas com -name chave são sensíveis a maiúsculas e minúsculas e não vai dar resultados com letras maiúsculas. Para obter todos os casos, use a opção -iname.

find ./ -iname "qa*"

Saída

./test/qatree.pdf./test/qa.txt./test/QAtest.txt./home/qa

procura por um ficheiro de várias pastas

para encontrar os ficheiros em diferentes pastas, adicione as suas localizações no comando., No nosso caso, vamos verificar nos diretórios test e .

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

Saída

./test/file22.txt/root/numeric/file22.txt

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

Você pode usar o comando localizar para localizar vários arquivos que compartilham as diferentes extensões, tais como *.doc *.txt *.pdf, etc. Isto pode ser feito separadamente, uma extensão de cada vez, ou usando apenas um comando que inclui todas as extensões desejadas.,

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

saída

encontrar ficheiros contendo determinado texto

às vezes, você quer aceder a um ficheiro que contém determinado texto mas não pode recordar o seu nome de ficheiro ou localização. Este comando permite-lhe encontrar todos os ficheiros que contêm o seu texto de destino.

Para procurar todos os arquivos que contenham a palavra hyperconvergence”, o uso;

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

Saída

/root/numeric/hci/root/HCIP

A opção –i permite o comando a ignorar os casos e vai encontrar o texto seja capitalizado ou não i.e. hyperconvergence, Hyperconvergence , etc.,

Para procurar arquivos em um diretório específico, basta adicionar o comando

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

Saída

./numeric/hci

Localizar Arquivos e Diretórios com Base no Tamanho

Você pode encontrar todos os arquivos ou diretórios que são menores, iguais ou maiores que um determinado tamanho, dentro de um determinado intervalo ou vazio. Use o formato de tamanho apropriado, dependendo do tipo de arquivos ou diretórios que você está procurando.,nd arquivos de um determinado tamanho igual a 30MB

Para Pesquisar e encontrar todos os 30MB de arquivos

find / -size 30M

Encontre arquivos maiores do que um tamanho especificado

find -size +2M

Saída

. /Downloads/ubuntu18043.iso ./.cache/pip/http/6/e/3/8/3/6e38383f41850c3e5705d48116bc52f81b92a80500f414305057 7a9c

Encontre arquivos de menos de 10 mb no diretório atual

find . -type f -size -10M

Encontre arquivos com tamanhos entre 100-200 MB

Ao procurar por arquivos dentro de um intervalo específico, como entre 100 e 200 MB

find / -size +100M -size -200M

Procure por diretórios maior do que 20kb

find / -type d -size +20k

Encontrar vazio de arquivos e diretórios.,

Arquivos

find ./ -type f -size 0

ou

find ./ -type f –empty

Diretórios

find ./ -type d –empty

Localizar arquivos por idade ou tempo de modificação

Localizar os arquivos mais antigos que n dias

find /path/ -type f -name '*.txt' -mtime +8

-mtime +8 irá olhar para txt arquivos que estão mais de 8 dias.,

Por data de modificação

Este irá procurar por arquivos modificados nos últimos 17 horas

find . -mtime -17 -type f 

Olha para diretórios modificados nos últimos 10 dias

find . -mtime -10 -type d 

Encontre arquivos com base no acesso ou modificação

Localizar ficheiros com base na data ou hora acessado. Isso permite que você veja arquivos que têm ou não foram acessados dentro de um período especificado.

para ver os arquivos que não foram acessados nos últimos 10 dias no diretório home.,

find /home -atime +10

Arquivos acessados exatamente 10 dias atrás

find /home -atime 10

Acessado nos últimos 10 dias

find /home -atime -10

Localizar os arquivos modificados nos últimos n dias

Você também pode olhar para os arquivos /home diretório modificado nos últimos 10 dias, usando o comando;

find /home -mtime -10 

Encontre a modificação de arquivos dentro de um período específico.

por exemplo, todos os ficheiros modificados entre 6 e 15 dias atrás na pasta pessoal.,

Files and directories accessed within the last 10 minutes

To find the files accessed within the last 10 minutes, use the-amin option.

find . -amin -10 -type f

Saída

./.bash_history./.profileroot@ubuntu1804:~#

pastas acessados nos últimos 10 minutos

find . -amin -10 -type d

Localizar arquivos de correspondência específica permissões

a Sintaxe

$ find -perm mode

Onde é o modo de permissão que é numéricos, tais como o 644, 655, 700, 777, etc, ou letras, como u=x, a=r+x, etc.,

pode indicar o modo de três formas diferentes.

  1. Sem prefixo quando quiser encontrar ficheiros com as permissões exactas indicadas.
  2. With ” - ” for files with at least the specified permission. Isto devolve os ficheiros com as permissões indicadas, bem como as mais elevadas adicionais.
  3. usando” /” requer a especificação do proprietário ou grupo com a permissão para o arquivo.,

Encontre arquivos com permissão 777

find -perm 777

Saída

./file1

Localizar arquivos com, pelo menos, 766
encontrar -perm -766

Saída

./file2./file1

O comando procura por todos os arquivos em que o

  • O dono do arquivo tem ler/escrever/executar permissões.
  • O Grupo tem permissões de leitura/escrita
  • outros têm permissões de leitura/escrita

como tal, devolve dois ficheiros que satisfazem este critério – o ficheiro 1 e o ficheiro 2., Os arquivos não precisam ter a exata 766 permissões e podem ter outras tanto tempo, mas devem ter pelo menos as especificadas.

procure ficheiros writíveis pelo dono

usaremos agora o “/” para procurar ficheiros writíveis pelo seu dono, ou grupo, ou outros.

find -perm /222../file2./file3./file1

o acima procura por ficheiros que possam ser gravados pelo seu dono ou grupo.
Isto devolve arquivos que podem ser gravados por qualquer um, mas não necessariamente por ambos. Para ver os ficheiros, onde ambos têm permissões de escrita, use o prefixo–.,

./file2./file1

Encontre arquivos de propriedade de um usuário

Localizar todos os arquivos de propriedade de Jack

find /home -user jack

Saída

/home/jack/home/jack/examples.desktop/home/jack/.gnupg/home/jack/.gnupg/private-keys-v1.d/home/jack/ans.cgi

Encontrar arquivos específicos, de propriedade de um usuário

Localizar todos os arquivos de texto de propriedade de Jack

find /home -user jack -iname "*.txt"

Saída

/home/jack/docs/file32.txt

Encontre e lista de arquivos e diretórios, juntamente com as respectivas permissões

find -name "*.conf" | ls -l

Saída

Encontrar e agir sobre os resultados

nesta seção, vamos ver como você pode agir sobre os arquivos que correspondam ao padrão especificado no comando localizar.,

Encontre os ficheiros e altere as permissões

encontre e altere as permissões de certos tipos de ficheiros. No nosso caso, vamos trabalhar com arquivos PHP com permissões diferentes como mostrado abaixo.,

agora, Vamos olhar para todos os arquivos PHP (acima) e substituir suas permissões 755

find ver -name "*.php" -type f -exec chmod 755 {} ;

O comando procura por arquivos PHP ver diretório e, em seguida, define a sua permissão para 755 (rwxr-xr-x)

Resultados

Localizar e alterar as permissões de arquivo e diretório

Localizar arquivos com permissões 644 e alterá-las para ter 655 permissões

find . -type f -perm 644 -exec chmod 655 {} ;

Você também pode olhar para diretórios com permissões 644 e substituir esta com 755.,

find . -type d -perm 644

Saída

./docs 

pasta docs tem permissões 644

drwxrwxr-x 2 jack jack 4096 Jan 3 12:45 docs

é 755 nós run

find . -type d -perm 644 -exec chmod 755 {} ;

Agora podemos verificar novamente para ver o que exatamente 755

find . -type d -perm 755

Saída
.
./docs

de cima podemos ver que os diretórios root e docs têm as 755 permissões.,

Ls –la comando fornece os seguintes detalhes

drwxr-xr-x 2 jack jack 4096 Jan 3 12:45 docs

Localizar e copiar arquivos ou diretórios

Localizar e copiar um arquivo específico para um diretório

O comando abaixo vai encontrar o file22.txt do arquivo e copiá-lo para o ~/tmp/images diretório.,

find -iname file22.txt -exec cp {} ~/tmp/images ;

Localizar e copiar um tipo de arquivos para um diretório

Para encontrar arquivos, tais como imagens com jpg extensão no diretório atual e copiá-los para um local diferente, como uma pasta de imagens, o uso;

find -iname '*.jpg' -exec cp {} ~/tmp/images ;

Isso vai encontrar e copiar todos os arquivos jpg para o ~/tmp/images pasta.

encontre e copie um ficheiro para muitas pastas

encontre e copie uma para várias pastas.,

find ~/tmp/dir1/ ~/tmp/dir2/ $HOME/3/ -maxdepth 0 -exec cp ~/numeric/hci {} ;

Isso vai encontrar o arquivo hci arquivo e copiá-lo para os três diretórios de /tmp/dir1/ /tmp/dir2/ e $HOME/3/

Localizar e mover os arquivos para um diretório diferente

Para mover um arquivo de um diretório para outro., Para mover o universal.php arquivo;

find ~/folder/ -type f -name universal.php -exec mv {} ~/numeric/ ;

Procurar e mover os arquivos com uma determinada extensão para uma pasta diferente

find ~/numeric/ -type f -name '*.php' -exec mv {} ~/folder/ ;

Encontre determinados arquivos e mover para uma determinada pasta diferente

find -type f -name uni*.* -exec mv {} ~/unifiles/ ;

O comando procura por todos os arquivos com nomes que começam com uni e com qualquer extensão. Ele então os move para o diretório /unifiles/

encontrar e mover arquivos com base na idade

encontrar e mover arquivos mais antigos do que os dias especificados para um local diferente, como o arquivo.,

find /path/ -type f -name '*.pdf' -mtime +20 -exec mv {} /backup1/ ;

Isto irá procurar por arquivos pdf com mais de 20 dias e movê-los para o diretório backup1.,arquivos e diretórios

A sintaxe para encontrar e remover arquivos ou pastas no diretório atual é

find . -type f -name "file to delete" -exec rm -f {} ; para apagar somente os arquivos ou

find . -type d -name "dir-to-delete" -exec rm -rf {} ; para apagar diretórios somente

Encontre e elimine arquivos específicos, somente

Para encontrar e apagar arquivos começando com til, uso;

find . -type f -name "til*" -exec rm {} ; 

Para localizar e excluir diretórios começando com til

find . -type d -name "til*" -exec rm {} ;

Remover arquivos e diretórios

find . -name "til*" -exec rm -rf {} ; 

Isto irá remover arquivos e diretórios que começam com as letras til.,

Delete por extensão

abaixo é como você pode localizar e excluir todos os arquivos txt na diretoria atual. Substitua o txt por outra extensão como bak, pdf ou qualquer outra que queira remover.

find . -type f -name "*.txt" -exec rm -f {} ;

No caso de querer que o sistema O peça para confirmar antes de apagar cada ficheiro, adicione a opção-i como se segue.,

find . -type f -name "*.txt" -exec rm -i {} ;

Saída

Por padrão, o -rm não irá remover os diretórios e você precisa usar o –r opção garante uma recursiva de remoção. Isso garante a exclusão de diretórios vazios e aqueles que contêm arquivos. A opção -f força a remoção e é usada tanto para os arquivos quanto para diretórios.

encontrar e apagar ficheiros com mais de n dias

encontrar e apagar ficheiros de salvaguarda com mais de 20 dias da pasta actual.,

find . -type f -name '*.bak' -mtime +20 -exec rm {} ;

isto irá apagar todos os .bak ficheiros com mais de 20 dias.

Encontre e elimine diretórios somente

Para excluir um diretório chamado dir22

find . -type d -name dir22 -exec rm -rf {} ;

Certifique-se de que você coincidir com o nome do diretório de caso ou usar o -iname opção.

find . -type d -iname Dir22 -exec rm -rf {} ;

Remove Dir22 e dir22

Para confirmar antes de exclusão, use a opção-i.

find . -type d -iname Dir22 -exec rm -rf -i {} ;

Output
rm: remove directory ‘.- Dir22?, N
rm: remove directory’./dir22′? y

No nosso caso, digitamos n para o diretório Dir22 que não será eliminada e y para dir22 que agora serão removidos.

encontre e remova ficheiros vazios

pode usar qualquer um dos seguintes comandos para localizar ficheiros vazios e apagá-los automaticamente.

find ./ -type f -size 0 -exec rm -f {} ;

ou
find .| – type f-size 0 / xargs rm-f
or
find .,/ – type f –size 0-delete

Find and remove empty directories

To remove empty directories we will use the d.

find ./ -type d -empty -exec rmdir {} ;

outra alternativa é usar delete em vez de remover.

find ./ -type d -empty -delete

por favor, note que a exclusão de sistemas ou arquivos críticos do seu computador pode danificar o sistema operacional ou aplicações ou levar à perda de seus dados importantes.

para evitar deleções acidentais, é a melhor prática usar uma conta de usuário não-root., Além disso, certifique-se de que você está apagando os arquivos certos que não são úteis e que você tem um backup de todos os seus arquivos de dados apenas no caso.o que se segue?

vá em frente e tente os comandos acima do Linux find em seu laboratório ou ambiente de não produção. Veja se você pode usar algum para automatizar a limpeza do sistema de arquivos com o Crontab. E, para dominar o Linux, confira este curso online.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Ir para a barra de ferramentas