A maioria dos utilizadores que busca arquivos e diretórios no seu PC Linux, recorre ao gestor de arquivos. Geralmente, as ferramentas de busca do gestor de arquivos conseguem encontrar o que os utilizadores precisam – até certo ponto. O problema é que estas costumam ser lentas e meticulosas. Para uma pesquisa de arquivos mais robusta no Linux, considere usar o terminal.
AVISO: Veja o tutorial em vídeo no final deste artigo.
Neste guia, vamos explorar algumas formas simples de encontrar arquivos e diretórios de maneira rápida e eficaz usando o terminal Linux.
1. `find` e `grep`
O comando `find` é uma ferramenta de pesquisa poderosa para o ambiente Linux. Ele opera na linha de comando, executando consultas de pesquisa baseadas em palavras-chave especificadas pelo utilizador. `find` é bastante complexo, e muitos o utilizam exatamente por isso. Veja como usar `find`. Primeiro, abra o terminal e execute o comando `find`. Irá notar que o `find` lista praticamente todos os arquivos no seu computador. É ótimo que o `find` procure tanto, mas o problema de o executar assim é que nunca vai encontrar o que procura.
Para um uso mais eficaz da ferramenta `find`, considere combiná-la com outros comandos. Em particular, o `grep`. O `grep` também é muito poderoso e, com ele, os utilizadores podem filtrar por palavras-chave específicas. A combinação com o `find` é uma junção poderosa. Por exemplo, para localizar arquivos e diretórios com o termo “bitcoin” no seu PC Linux, faria:
find | grep bitcoin
O `grep` filtra a saída do `find`, mostrando apenas os resultados que contêm a palavra-chave “bitcoin”.
Também funciona com extensões de arquivo específicas. Por exemplo, para encontrar todos os arquivos PNG no seu PC Linux, execute o `find` e o `grep` da seguinte forma:
find | grep .png
Provavelmente, existem muitos arquivos PNG no seu PC Linux, então, para tornar a lista mais amigável, adicione `more` como um terceiro comando:
find | grep .png | more
2. `locate`
O `mlocate` é outro comando muito útil. É indiscutivelmente mais fácil de usar do que o `find`. A razão pela qual o `locate` funciona melhor é que ele pesquisa com mais eficiência utilizando palavras-chave. Não é necessário usar opções de comando extras ou comandos como o `grep` para realizar isso. Infelizmente, a ferramenta `locate` não está pré-instalada em todas as distribuições Linux. Veja como configurá-la. Primeiro, instale o software no seu PC.
Ubuntu
sudo apt install mlocate
Debian
sudo apt-get install mlocate
Arch Linux
sudo pacman -S mlocate
Fedora
sudo dnf install mlocate
OpenSUSE
sudo zypper install mlocate
Com o software instalado, abra o terminal e use o comando `updatedb` para criar uma nova base de dados. A criação de uma nova base de dados é essencial; caso contrário, o comando `locate` apresentará um erro e não funcionará. Lembre-se de que a base de dados verifica TODOS OS ARQUIVOS no seu PC, portanto, deve ser executado como root, e não como um comando de utilizador comum.
sudo updatedb
O comando `updatedb` demora algum tempo, dependendo da velocidade do seu disco rígido e do número de arquivos no sistema. Mantenha o terminal aberto e deixe o comando correr. Saberá que a base de dados está pronta quando o terminal aceitar novamente a entrada de texto.
Para pesquisar usando a ferramenta `locate`, siga o exemplo abaixo. Certifique-se de alterar “nome do arquivo” ou “palavra-chave” para os seus próprios termos de pesquisa, pois essas palavras são apenas espaços reservados.
locate nome do arquivo
ou
locate palavra-chave
ou
locate "*.ExtensãoDoArquivo"
Depois de inserir um termo de pesquisa, o `locate` verificará a base de dados e retornará os resultados. Se houver muitos resultados, considere direcionar os resultados para um arquivo de texto para análise posterior.
locate palavra-chave >> resultados-localizar.txt
Filtrar Arquivos de Texto `mlocate`
Direcionar um resultado de pesquisa para um arquivo de texto é uma ótima forma de manter um histórico dos resultados de pesquisa para uso futuro. Se precisar filtrar esses resultados de pesquisa, utilize o `cat` e o comando `grep` em conjunto.
Por exemplo, para filtrar um resultado de uma pesquisa anterior, para localizar todos os arquivos MP3 no meu PC, o comando seria:
cat resultados-localizar.txt | grep "palavra-chave mp3"
O `grep` filtrará exatamente o arquivo que necessita.
3. `ls` e `grep`
Além de usar uma ferramenta de pesquisa para explorar o seu PC Linux, existem outras formas de procurar arquivos. A principal forma de fazer isso no terminal é com o comando `ls` (também conhecido como List). Esta ferramenta é simples, mas lista todos os itens em um diretório. Pode ser muito útil se precisar encontrar uma pasta específica. No entanto, o `ls` por si só pode ser muito ineficiente. Para melhorar este comando, considere combiná-lo com `grep`. Isso tornará mais fácil filtrar as pastas ou arquivos que procura. Ou, pelo menos, filtrá-lo por algumas palavras-chave.
Primeiro, use o `cd` para ir para um diretório onde pretende procurar arquivos ou diretórios específicos.
Em seguida, combine `ls` e `grep`.
ls | grep palavra-chave
Como alternativa, faça com que o `ls` revele também pastas ocultas, com:
ls -a | grep palavra-chave