Há muitas maneiras de pesquisar arquivos em um sistema Linux. Cada um vem com seus prós e contras. Mas para obter melhores resultados, é bom conhecer o maior número possível deles.
Os programas gráficos geralmente vêm com pesquisa integrada e, embora possam ser convenientes, geralmente têm seus limites. É aí que as ferramentas de pesquisa de shell são úteis, pois têm mais recursos a oferecer.
A lista a seguir mostra as formas mais comuns de pesquisar um arquivo no Linux e inclui a sintaxe e os padrões de uso de cada um dos programas.
Você deve notar que apenas o primeiro comando funciona em programas gráficos, então o resto são programas shell.
Métodos de pesquisa do Linux
Command | Descrição | |
---|---|---|
1. | CTRL + F | Chama o recurso de pesquisa na maioria dos programas GUI |
2. | find | Extensa ferramenta de pesquisa com recursos poderosos |
3. | localizar | Ferramenta de pesquisa rápida baseada em banco de dados |
4. | grep | Poderosa ferramenta de pesquisa baseada em regex |
5. | qual | Usado para procurar arquivos executáveis |
6. | Onde é | Pesquisa arquivos executáveis, suas fontes e arquivos de página de manual |
1. CTRL+F
Ctrl+F é um recurso padrão na maioria dos programas gráficos para pesquisar arquivos no sistema. Ele funciona no gerenciador de arquivos do Gnome Nautilus, no gerenciador de arquivos do KDE Dolphin e no Thunar, no gerenciador de arquivos do Xfce.
Ele também funciona em muitos outros programas, como o Evince para leitura de arquivos .pdf, o navegador Firefox, programas de escritório como o Libre Office e muitos outros.
O uso é simples. Enquanto estiver usando o programa e você precisar procurar um arquivo, pressione as teclas Ctrl e F no teclado juntas e uma barra de pesquisa será aberta no programa.
2. Encontrar
Quando se trata de procurar coisas na plataforma Linux, find é o avô de todas as ferramentas disponíveis. É um programa versátil e muito poderoso que tem uma ampla gama de opções para fazê-lo funcionar em estilos amplamente diferentes.
Existem tantas opções, operadores e formatos de impressão para o programa find que é impossível simplesmente ler e conhecer todos eles. Você precisará ler constantemente as páginas man e info se quiser aprender o programa find. Aqui estão alguns exemplos e o que eles fazem:
man find > #read man pages find entry
info find > #read info pages encontre entradas
A sintaxe geral para find é a seguinte:
find [opções] [caminho…] [expressão]
Onde opções se referem a suas muitas opções, o caminho é de onde você deseja iniciar a pesquisa e a expressão inclui os vários padrões e operadores de pesquisa disponíveis para uso.
Existem, no entanto, algumas opções que você pode aprender e memorizar rapidamente, e são as seguintes:
um tipo
Isso procura um arquivo com base em seu tipo e pode incluir “f” para um arquivo regular, “d” para um diretório e “l” para um link simbólico.
find -type f -name '*.js' #encontra todos os arquivos JavaScript na casa do usuário
b) -nome
Conforme mostrado acima, isso procura a ocorrência do padrão fornecido (*.js) no nome do arquivo.
c) -mtempo
Com a opção -mtime, você especifica critérios de pesquisa baseados em tempo, como
find -mtime 7 #encontra todos os arquivos que foram modificados na última semana (7 dias)
d) -tamanho
Você também pode usar o tamanho do arquivo como critério de pesquisa, como
find -size +15k > #encontra todos os arquivos no diretório inicial maiores que 15 kilobytes
Observe que todos os argumentos das opções podem levar – ou + números para mostrar menor ou superior. Por exemplo -2 para menos de 2 e +15 para mais de 15. Existem muitas outras opções e você deve ler as entradas “man find” e “info find” em seu shell para entender esse poderoso programa.
3. Localize
O comando locate é outra ferramenta de pesquisa impressionante no Linux. Não é tão rico em recursos quanto o comando find, mas é muito mais rápido porque usa entradas de banco de dados para realizar sua mágica.
Localizar também é mais fácil de usar e não precisa que você insira o caminho de pesquisa. Basta digitar locate, seguido por um padrão para o nome do arquivo e ele retornará todos os arquivos que atendem a esse padrão. Por exemplo:
localize moz > #encontre todos os arquivos que contenham 'moz' em seu nome, como mozilla
O Locate também oferece algumas opções, como -i ou –ignore-case, pois é uma ferramenta de pesquisa que diferencia maiúsculas de minúsculas. Por exemplo:
localize -i moz > #encontre ambos os arquivos nomeados mozilla, MOZILLA e Mozilla
4. Agarre
Às vezes você pode conhecer algumas das palavras contidas em um arquivo. Portanto, embora os comandos find e locate possam não ser adequados para localizar esse arquivo, o comando grep, no entanto, é perfeito para o trabalho.
Grep significa Impressão de Expressão Regular Global. Ele aceita regex como argumentos e também pode formatar sua saída com base em suas preferências. Ele pode colorir as palavras correspondentes, imprimir seus números de linha ou imprimir apenas o nome do arquivo correspondente.
Tenha em mente que grep corresponde ao nome do arquivo e ao conteúdo do arquivo, e você também pode fornecer padrões para cada um. A sintaxe do grep é assim:
grep [opções] arquivo 'padrão'
Muitas opções estão disponíveis e você pode combiná-las como achar melhor, mas você obterá o máximo do grep se aprender regex (expressões regulares) porque elas podem ser realmente úteis. As páginas de informações e man também fazem um trabalho muito bom explicando isso.
Aqui estão alguns exemplos de grep e o que eles fazem:
grep 'foobar' > #encontra todos os arquivos que contêm foobar no diretório atual
grep -in 'foobar' > #não diferencia maiúsculas de minúsculas e imprime números de linha
grep -inr 'foobar' /home/user > #recursively pesquisa todas as pastas em /home/user
grep -ir 'table' *.html > #encontra todos os arquivos html que contêm uma tabela no diretório inicial
5. Qual
Se, por algum motivo, você precisar saber o caminho absoluto de um arquivo executável no Linux, use o comando which. Funciona assim:
que grep > #returns /bin/grep no Ubuntu como o caminho absoluto do grep
qual qual > #retorna /usr/bin/qual
6. Onde está
Whereis é um pouco parecido com o que, mas retorna arquivos binários, de origem e de página de manual para qualquer comando fornecido. Aqui está um exemplo:
whereis grep > #retorna apenas arquivos binários e man /bin/grep /usr/share/man/man1/grep.1.gz
Conclusão
Chegamos ao final de nossa lista de como encontrar um arquivo na lista de comandos do Linux. Como você pode ver, há uma ampla gama de ferramentas e opções no shell. Portanto, há algo para todos.
Apenas reserve um tempo para aprender e praticar com essas ferramentas e lembre-se de ler suas informações e páginas de manual também. Em pouco tempo, você se tornará muito eficiente com pesquisas de arquivos no Linux.