Usando o comando Find
O comando “find” permite procurar por arquivos para os quais você conhece os nomes de arquivos aproximados. A forma mais simples do comando procura por arquivos no diretório atual e recursivamente por meio de seus subdiretórios que correspondem aos critérios de pesquisa fornecidos. Você pode procurar arquivos por nome, proprietário, grupo, tipo, permissões, data e outros critérios.
Digitar o seguinte comando no prompt lista todos os arquivos encontrados no diretório atual.
find.
O ponto depois de “find” indica o diretório atual.
-name
argumento. Você pode usar metacaracteres de nome de arquivo (como
*
), mas você deve colocar um caractere de escape (
) na frente de cada um deles ou coloque-os entre aspas.
Por exemplo, se quisermos encontrar todos os arquivos que começam com “pro” no diretório Documentos, usaríamos
cd Documents/
comando para alterar para o diretório de documentos e, em seguida, digite o seguinte comando:
find. -name pro*
Todos os arquivos no diretório atual, começando com “pro”, são listados.
OBSERVAÇÃO: O comando de localização é padronizado para diferenciar maiúsculas de minúsculas. Se você quiser que a pesquisa por uma palavra ou frase seja insensível a maiúsculas e minúsculas, use o
-iname
opção com o comando find. É a versão insensível do
-name
comando.
find
não localiza nenhum arquivo que corresponda aos seus critérios, não produz saída.
O comando find tem muitas opções disponíveis para refinar a pesquisa. Para mais informações sobre o comando find, execute
man find
em uma janela do Terminal e pressione Enter.
Usando o comando Localizar
O comando locate é mais rápido que o comando find, porque usa um banco de dados previamente construído, enquanto o comando find procura no sistema real, através de todos os diretórios e arquivos reais. O comando locate retorna uma lista de todos os nomes de caminho que contêm o grupo de caracteres especificado.
O banco de dados é atualizado periodicamente do cron, mas você também pode atualizá-lo a qualquer momento para obter resultados atualizados. Para fazer isso, digite o seguinte comando no prompt:
sudo updatedb
Digite sua senha quando solicitado.
locate mydata
Por exemplo, o comando acima encontrou dois arquivos contendo “mydata” e um arquivo contendo “data”.
-b
opção com o comando locate, como segue.
locate -b ‘mydata’
A barra invertida no comando acima é um caractere globbing, que fornece uma maneira de expandir os caracteres curinga em um nome de arquivo não específico em um conjunto de nomes de arquivos específicos. Um curinga é um símbolo que pode ser substituído por um ou mais caracteres quando a expressão é avaliada. Os símbolos curinga mais comuns são o ponto de interrogação (
), que representa um único caractere e o asterisco (
*
), que significa uma seqüência contígua de caracteres. No exemplo acima, a barra invertida desativa a substituição implícita de "mydata" por "* mydata *", por isso você acaba com apenas resultados contendo "mydata".
Quando você instala mlocate, o arquivo binário / usr / bin / locate muda para apontar para mlocate. Para instalar o mlocate, se ele ainda não estiver incluído na distribuição do Linux, digite o seguinte comando no prompt.
sudo apt-get install mlocate
Observação: mostraremos um comando mais adiante neste artigo que permite determinar onde o executável de um comando está localizado, se ele existir.
sudo /etc/cron.daily/mlocate
O comando mlocate não funcionará até que o banco de dados seja criado manualmente ou quando o script for executado a partir do cron.
man locate
ou
man mlocate
em uma janela do Terminal e pressione Enter. A mesma tela de ajuda é exibida para os dois comandos.
Usando o Comando Which
O comando “which” retorna o caminho absoluto do executável que é chamado quando um comando é emitido. Isso é útil para encontrar o local de um executável para criar um atalho para o programa na área de trabalho, em um painel ou em outro local no gerenciador da área de trabalho. Por exemplo, digitando o comando
which firefox
exibe os resultados mostrados na imagem abaixo.
-a
opção com o comando:
which -a firefox
Você pode procurar múltiplos executáveis usando ao mesmo tempo, conforme mostrado na imagem a seguir. Apenas os caminhos para executáveis encontrados são exibidos.No exemplo abaixo, apenas o executável "pps" foi encontrado.
Para obter mais informações sobre o comando which, digite “man which” (sem as aspas) no prompt de comando em uma janela do Terminal e pressione Enter.
Usando o comando Whereis
O comando whereis é usado para descobrir onde os arquivos binários, de origem e man pages de um comando estão localizados. Por exemplo, digitando
whereis firefox
no prompt exibe os resultados conforme mostrado na imagem a seguir.
-b
opção. Por exemplo, o comando
whereis -b firefox
exibirá apenas
/usr/bin/firefox
como resultado. Isso é útil porque é mais provável que você pesquise um arquivo executável de um programa com mais frequência do que pesquisaria por páginas de origem e de manual para esse programa. Você também pode procurar apenas os arquivos de origem (
-s
) ou apenas para as páginas do manual (
-m
).
Para obter mais informações sobre o comando whereis, digite
man whereis
em uma janela do Terminal e pressione Enter.
Entendendo a diferença entre o comando Whereis e o comando Which
O comando whereis mostra a localização das páginas binary, source e man para um comando, enquanto o comando which mostra apenas a localização do binário para o comando.
O comando whereis pesquisa uma lista de diretórios específicos para os arquivos binary, source e man, enquanto o comando which pesquisa os diretórios listados na variável de ambiente PATH do usuário atual. Para o comando whereis, a lista de diretórios específicos pode ser encontrada na seção FILES das man pages do comando.
Quando se trata de resultados exibidos por padrão, o comando whereis exibe tudo o que encontrar, enquanto o comando which exibe apenas o primeiro executável encontrado. Você pode mudar isso usando o
-a
opção, discutida anteriormente, para o comando which.
Como o comando whereis usa apenas caminhos codificados no comando, você nem sempre encontra o que está procurando. Se você estiver procurando por um programa que possa estar instalado em um diretório não listado nas man pages do comando whereis, você pode querer usar o comando which com o comando
-a
opção para encontrar todas as ocorrências do comando em todo o sistema.