Existem algumas maneiras de encontrar e localizar arquivos do terminal no Linux, e find
, locate
, which
e whereis
são alguns dos comandos comumente usados para fazer isso. Vamos dar uma olhada nesses quatro comandos de pesquisa, suas semelhanças e diferenças.
1. encontrar
A abordagem direta para pesquisar arquivos em qualquer diretório especificado é usar o find
comando. Se o diretório para realizar a pesquisa não for especificado explicitamente, a pesquisa será realizada no diretório atual.
A captura de tela a seguir mostra como, no diretório atual (.), Uma pesquisa é realizada para todos os nomes de arquivo que terminam com a extensão .txt.
A pesquisa também pode ser realizada com base em carimbos de data / hora, permissões de arquivo, tamanho do arquivo, tipo de arquivo, proprietário do arquivo, etc. Expressões regulares podem ser usadas para controlar os parâmetros de pesquisa. Instruções mais detalhadas sobre o find
o comando pode ser encontrado aqui.
2. localizar
Este comando é outra maneira de localizar arquivos por nome. O comando anterior pesquisa o diretório especificado e fornece os resultados ao usuário. Esta ferramenta realiza a pesquisa em um banco de dados chamado “mlocate.db,” que está localizado em “/var/lib/mlocate/mlocate.db”. Este banco de dados é atualizado todas as manhãs pelo utilitário cron.
O comando é executado mais rapidamente do que find
porque a pesquisa é feita em um banco de dados existente que já selecionou a lista de todos os arquivos e diretórios do sistema.
locate
seguido pelo nome do arquivo exibe o nome do caminho absoluto onde esse arquivo existe.

Vamos supor que um script foi criado no diretório inicial.

Se tentarmos localizar o script recém-criado e copiado, não obteremos nenhuma saída.
locate myscript

Como o cron atualiza o banco de dados apenas pela manhã, quaisquer arquivos são adicionados ao sistema durante o dia, então o banco de dados precisa ser atualizado manualmente. Isso pode ser feito usando o updatedb
comando.
sudo updatedb
Se tentarmos “localizar” o script personalizado, ele conseguirá localizar o arquivo.

3. qual
Depois de discutir os comandos para pesquisar arquivos, vamos mudar para um comando que pode ajudar a pesquisar o caminho absoluto dos executáveis no sistema: which
.
Um executável / script / binário pode estar presente em vários locais no sistema. which
pesquisa em diretórios especificados nas variáveis de ambiente $ PATH e $ MANPATH para a existência do executável especificado.
Sem quaisquer interruptores, which
exibe o primeiro caminho absoluto encontrado para um executável.

-a
switch exibe todas as ocorrências de caminhos absolutos encontrados para o executável especificado.

Os caminhos absolutos para vários executáveis podem ser encontrados especificando os executáveis um após o outro.

4. onde está
whereis
é outro comando e é usado para obter três informações sobre um executável:
- caminho absoluto do binário
- caminho absoluto onde o código-fonte desse binário existe no sistema
- caminho absoluto do manual que existe para esse binário

Para “bzgrep,” o binário existe em “/ bin” e o manual existe em “/ usr / share / man / man1.” Seu código-fonte não existe no sistema.
whereis
pode ser instruído a pesquisar apenas o caminho absoluto do binário usando -b
interruptor. A pesquisa pode ser realizada apenas nos diretórios listados após -B
interruptor. Nomes depois -f
especificar todos os binários para os quais as informações precisam ser obtidas.

Da mesma forma, a pesquisa pode ser restrita apenas ao código-fonte ou apenas manuais, usando -s
e -m
comuta. -S
e –M
seguido por nomes de diretório especifica os diretórios para pesquisar o código-fonte e manuais, respectivamente.
-l
switch irá fornecer uma lista detalhada dos caminhos absolutos de todos os diretórios usados por whereis
para realizar a pesquisa.

Conclusão
Ferramentas para encontrar e localizar arquivos no terminal não faltam. Espero que você tenha uma boa ideia agora sobre as quatro ferramentas de pesquisa úteis em sistemas Linux. Se precisar de mais detalhes sobre seu uso, você pode verificar suas páginas de manual para uma documentação detalhada.