Como pesquisar e encontrar arquivos no Linux com comandos

Muitas vezes é necessário buscar determinados tipos de arquivos em ambientes Linux e não sabemos a maneira correta de procurá-los adequadamente sem sair por aí perdendo tempo.

Para distros Linux, um comando chamado find foi desenvolvido para filtrar objetos recursivamente no sistema de arquivos com base em um mecanismo condicional. Com este comando find, podemos pesquisar um arquivo ou diretório em seu sistema de arquivos.

Se incluirmos o parâmetro -exec, os arquivos podem ser encontrados e processados ​​imediatamente no mesmo comando.

1. Encontre arquivos por nome ou extensão de comandos do Linux


Podemos usar find na linha de comando para localizar um arquivo específico por nome ou extensão.

Sua sintaxe é:

 find / home / username / -name "* .extension"
Por exemplo, procuraremos arquivos que terminam em .gz:

PROLONGAR

2. Comandos e sintaxe úteis para usar com os comandos find Linux


Com o comando find, temos algumas opções de parâmetros como:
 encontrar opções de início / expressão de caminho
O atributo options controlará o comportamento e o método de otimização do processo de pesquisa. O atributo home / path definirá o diretório de nível superior onde find começará a filtragem.

O atributo expression controla os testes que pesquisam a hierarquia de diretórios para produzir saída.
Por exemplo, podemos executar o seguinte:

 find -O3 -L / var / www / -name "* .html"
Este comando ativa o nível de otimização máximo (-O3) e permite que você siga os links simbólicos (-L) para pesquisar em toda a árvore de diretórios no caminho / var / www / arquivos que terminam com .html.

PROLONGAR

3. Opções e otimização com comandos Find Linux


A configuração padrão do Find para pesquisar irá ignorar os links simbólicos (arquivos de atalho), se quisermos que o find siga e pegue os links simbólicos, podemos adicionar a opção -L ao comando como vimos anteriormente. Find tem três (3) níveis de otimização que são -O1, -O2 e -O3.

A otimização -O1 é o padrão e força você a pesquisar para filtrar com base no nome do arquivo antes de executar todos os outros testes.

A otimização no nível -O2 prioriza os filtros de nome de arquivo, como em -O1, e então executa toda a filtragem de tipo de arquivo antes de prosseguir com outras condições que consomem mais recursos. A otimização do nível -O3 permite encontrar para realizar uma otimização mais profunda e reordenar todos os testes com base em seus gastos relativos e na probabilidade de melhores resultados.

Algumas das opções são:

É um filtro baseado no primeiro nome do arquivo

 -O1 (padrão)

Use o nome do arquivo primeiro e depois o tipo de arquivo

 -O2

Reordenar resultadosPermite a pesquisa para reordenar automaticamente a pesquisa com base no uso eficiente de recursos e na probabilidade de melhores resultados.

 -O3

Pesquisa o diretório atual, bem como todos os subdiretórios X níveis de profundidade

 -maxdepth X

Pesquise independentemente da caixa do texto

 -iname

Retorna apenas os resultados que não correspondem ao caso de teste

 -não

Faça uma pesquisa de arquivo

 -tipo f

Pesquisar diretórios

 -tipo d

4. Encontre arquivos por comandos Linux de modificação de tempo


O comando find tem a capacidade de filtrar uma hierarquia de diretório com base na última modificação do arquivo.
A sintaxe é:
 find / -name "* conf" -mtime 8 find / home / user / -name "* conf" -mtime 2
O primeiro comando exibirá uma lista de todos os arquivos em todo o sistema de arquivos que terminam com caracteres conf e foram modificados nos últimos 8 dias. O segundo comando filtra o diretório pessoal do usuário em busca de arquivos com nomes que terminam com caracteres conf e que foram modificados nos 2 dias anteriores.

Use Grep para encontrar arquivos baseados em conteúdo Comandos do LinuxO comando find só pode filtrar a hierarquia de diretório com base em um nome de arquivo e metadados, portanto, se você precisar pesquisar com base no conteúdo do arquivo, use uma ferramenta como grep.

Usaremos a seguinte sintaxe:

 encontrar. -tipo f -exec grep "exemplo" '{}' \; -impressão
Isso encontra todos os objetos na hierarquia de diretório atual (.) Que é um arquivo (-tipo f) e, em seguida, executa o comando grep "exemplo" para cada arquivo que atenda às condições. Os arquivos correspondentes são impressos na tela (-print). Chaves ({}) são um espaço reservado para os resultados da pesquisa. O {} é colocado entre aspas simples (') para evitar que o grep renderize um nome de arquivo malformado. O comando -exec termina com um ponto e vírgula "(;)", que deve ser escapado "(\;)" para evitar a interpretação pelo shell.

Como encontrar e processar arquivos usando os comandos Find Command LinuxPodemos usar a opção -exec para executar comandos em todos os objetos que correspondem à expressão de pesquisa.

Sua sintaxe é:

 encontrar. -name "rc.conf" -exec chmod o + r '{}' \;
Isso filtrará todos os objetos na hierarquia atual (.) Para arquivos denominados rc.conf e executará o comando chmod ou + r para modificar as permissões dos resultados da pesquisa.

Portanto, o find é um aliado para a busca completa de arquivos no Linux.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave