3 maneiras de encontrar um arquivo no Linux

Índice:

3 maneiras de encontrar um arquivo no Linux
3 maneiras de encontrar um arquivo no Linux

Vídeo: 3 maneiras de encontrar um arquivo no Linux

Vídeo: 3 maneiras de encontrar um arquivo no Linux
Vídeo: Como resolver erro, ACESSO NEGADO Você precisará fornecer permissão de administrador 2024, Maio
Anonim

Encontrar um arquivo em um sistema Linux pode ser difícil se você não souber como. A melhor maneira de localizar arquivos é utilizar vários comandos de terminal diferentes. Dominar esses comandos pode dar a você controle total sobre seus arquivos, e eles são muito mais poderosos do que as funções de pesquisa simples em outros sistemas operacionais.

Passos

Método 1 de 3: usando "localizar"

690519 10 1
690519 10 1

Etapa 1. Instale o

localizar funcionalidade.

O comando locate geralmente funciona muito mais rápido do que find, porque funciona a partir de um banco de dados de sua estrutura de arquivos. Nem todas as distribuições do Linux vêm com a funcionalidade de localização instalada, portanto, digite os seguintes comandos para tentar instalá-la:

  • Digite sudo apt-get update e pressione ↵ Enter.
  • Você pode instalá-lo no Debian e Ubuntu assim: Digite sudo apt-get install mlocate e pressione ↵ Enter. Se o locate já estiver instalado, você verá a mensagem mlocate já é a versão mais recente.
  • No Arch Linux, use o gerenciador de pacotes pacman: pacman -S mlocate
  • Para Gentoo, use emerge: emerge mlocate
690519 11 1
690519 11 1

Etapa 2. Atualize seu

localizar base de dados.

O comando locate não será capaz de encontrar nada até que seu banco de dados seja construído e atualizado. Isso acontece automaticamente diariamente, mas você também pode atualizá-lo manualmente. Você precisará fazer isso se quiser começar a usar localizar imediatamente.

Digite sudo updatedb e pressione ↵ Enter

690519 12 1
690519 12 1

Etapa 3. Use

localizar para realizar pesquisas simples.

O comando locate é rápido, mas não tem tantas opções quanto o comando find. Você pode realizar uma pesquisa básica de arquivos da mesma maneira que o comando find.

localizar -i "*.jpg"

  • Este comando irá pesquisar em seu sistema inteiro por arquivos com a extensão.jpg. O caractere curinga * funciona da mesma forma que com o comando find.
  • Como o comando find, o -i ignora o caso da sua consulta.
690519 13 1
690519 13 1

Etapa 4. Limite os resultados da pesquisa

Se suas pesquisas estão retornando muitos resultados para manipular, você pode reduzi-los usando a opção -n, seguido pelo número de resultados que deseja exibir.

localizar -n 20 -i "*.jpg"

  • Apenas os primeiros 20 resultados que correspondem à consulta serão exibidos.
  • Você também pode usar o | pipe para enviar os resultados para o less para facilitar a rolagem.

Método 2 de 3: usando "encontrar"

690519 1 1
690519 1 1

Etapa 1. Pesquise um arquivo por seu nome

Esta é a pesquisa mais básica que você pode realizar usando o comando find. O comando a seguir pesquisará a consulta no diretório atual e em quaisquer subdiretórios.

find -iname "nome do arquivo"

Usar -iname em vez de -name ignora o caso da sua consulta. O comando -name faz distinção entre maiúsculas e minúsculas

690519 2 1
690519 2 1

Etapa 2. Defina a pesquisa para iniciar no diretório raiz

Se você deseja pesquisar em todo o sistema, pode adicionar o modificador / à consulta. Isso dirá ao find para pesquisar todos os diretórios, começando no diretório raiz.

find / -iname "nome do arquivo"

  • Você pode iniciar a pesquisa em um diretório específico substituindo / por um caminho de diretório, como / home / pat.
  • Você pode usar um. em vez de / para forçar a pesquisa a ser realizada apenas no diretório e subdiretórios atuais.
690519 3 1
690519 3 1

Etapa 3. Use o caractere curinga

* para pesquisar qualquer coisa que corresponda à parte da consulta.

O caractere curinga * pode ser útil para encontrar algo se você não souber o nome completo ou se quiser encontrar tudo com uma extensão específica.

find / home / pat -iname "*.conf"

  • Isso retornará todos os arquivos.conf na pasta do usuário de Pat (e subdiretórios).
  • Você também pode usá-lo para encontrar tudo que corresponda a parte do nome do arquivo. Por exemplo, se você tiver muitos documentos relacionados ao wikiHow, poderá encontrá-los todos digitando "* wiki *".
690519 4 1
690519 4 1

Etapa 4. Torne os resultados da pesquisa mais fáceis de gerenciar

Se você estiver obtendo muitos resultados de pesquisa, pode ser difícil examiná-los. Use o | caractere e enviar os resultados da pesquisa para o programa de filtragem "menos". Isso pode permitir que você role e filtre os resultados com muito mais facilidade.

find / home / pat -iname "*.conf" | menos

690519 5 1
690519 5 1

Etapa 5. Encontre tipos específicos de resultados

Você pode usar modificadores para retornar apenas tipos específicos de resultados. Você pode pesquisar arquivos regulares (f), diretórios (d), links simbólicos (l), dispositivos de caractere (c) e dispositivos de bloco (b) usando o modificador correto.

find / -type f -iname "nome do arquivo"

690519 6 1
690519 6 1

Etapa 6. Filtre os resultados da pesquisa por tamanho

Se você tem muitos arquivos com nomes semelhantes, mas sabe o tamanho que está procurando, pode filtrar nossos resultados por tamanho.

find / -size + 50M -iname "nome do arquivo"

  • Isso retornará resultados de 50 megabytes ou mais. Você pode usar + ou - para pesquisar tamanhos maiores ou menores. A omissão de + ou - irá procurar arquivos exatamente do tamanho especificado.
  • Você pode filtrar por bytes (c), kilobytes (k), megabytes (M), gigabytes (G) ou blocos de 512 bytes (b). Observe que o sinalizador de tamanho diferencia maiúsculas de minúsculas.
690519 7 1
690519 7 1

Etapa 7. Use operadores booleanos para combinar filtros de pesquisa

Você pode usar os operadores -and, -or e -not para combinar diferentes tipos de pesquisas em uma.

find / travelphotos -type f -size + 200k -not -iname "* 2015 *"

O comando encontrará no diretório "travelphotos" arquivos com tamanho superior a 200 kilobytes, mas não com "2015" no nome do arquivo

690519 8 1
690519 8 1

Etapa 8. Pesquise arquivos por proprietário ou permissões

Se estiver tentando encontrar um arquivo específico de propriedade de um usuário ou arquivos com certas permissões, você pode restringir a pesquisa.

find / -user pat -iname "nome do arquivo" find / -group users -iname "nome do arquivo" find / -perm 777 -iname "nome do arquivo"

Os exemplos acima irão pesquisar os usuários, grupos ou permissões especificados para a consulta. Você também pode omitir a consulta de nome de arquivo para retornar todos os arquivos que correspondem a esse tipo. Por exemplo, find / -perm 777 retornará todos os arquivos com as permissões 777 (sem restrições)

690519 9 1
690519 9 1

Etapa 9. Combine os comandos para realizar ações quando os arquivos forem encontrados

Você pode combinar o comando find com outros comandos para que você possa executá-los nos arquivos que são retornados pela consulta. Separe o comando find e o segundo comando com o sinalizador -exec e, a seguir, termine a linha com {};

achar. -tipo f -perm 777 -exec chmod 755 {};

Isso pesquisará o diretório atual (e todos os subdiretórios) por arquivos que tenham 777 permissões. Em seguida, ele usará o comando chmod para alterar as permissões para 755

Método 3 de 3: Pesquisando Texto em Arquivos

690519 14 1
690519 14 1

Etapa 1. Use o

grep comando para pesquisar strings de texto dentro de arquivos.

Se você estiver procurando por um arquivo que contém uma certa frase ou string de caracteres, você pode usar o comando grep. Um comando grep básico é formatado da seguinte maneira:

grep -r -i "consulta de pesquisa" / caminho / para / diretório /

  • O -r define a pesquisa como "recursiva", portanto, ele pesquisará o diretório atual e todos os subdiretórios por qualquer arquivo que contenha a string de consulta.
  • O -i indica que a consulta não faz distinção entre maiúsculas e minúsculas. Se você quiser forçar a pesquisa a prestar atenção ao caso, omita o operador -i.
690519 15 1
690519 15 1

Etapa 2. Corte o texto extra

Ao realizar uma pesquisa grep como acima, você verá o nome do arquivo junto com o texto com a consulta correspondente destacada. Você pode ocultar o texto correspondente e apenas exibir os nomes e caminhos dos arquivos incluindo o seguinte:

grep -r -i "consulta de pesquisa" / caminho / para / diretório / | cut -d: -f1

690519 16 1
690519 16 1

Etapa 3. Ocultar mensagens de erro

O comando grep retornará um erro quando tentar acessar pastas sem as permissões corretas ou executar em pastas vazias. Você pode enviar as mensagens de erro para / dev / null, o que as ocultará da saída.

grep -r -i "consulta de pesquisa" / caminho / para / diretório / 2> / dev / null

Recomendado: