Como encontrar arquivos e pastas no Linux usando a linha de comando

00_different_commands_for_finding_items

A maioria das pessoas usa um gerenciador de arquivos gráfico para localizar arquivos no Linux, como Nautilus no Gnome, Dolphin no KDE e Thunar no Xfce. No entanto, existem várias maneiras de usar a linha de comando para localizar arquivos no Linux, não importa qual gerenciador de desktop você use.

01_search_in_nautilus

Usando o comando Find

O comando “localizar” permite que você pesquise arquivos cujos nomes sejam 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 pesquisar 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.

encontrar .

O ponto após “encontrar” indica o diretório atual.

02_find_dot_command

Para localizar arquivos que correspondam a um padrão específico, use o -nameargumento. Você pode usar metacaracteres de nome de arquivo (como *), mas deve colocar um caractere de escape ( \) na frente de cada um deles ou colocá-los entre aspas.

Por exemplo, se quisermos encontrar todos os arquivos que começam com “pro” no diretório Documentos, usaríamos o cd Documents/comando para mudar para o diretório Documentos e digitar o seguinte comando:

encontrar . -name pro \ *

Todos os arquivos no diretório atual começando com “pro” são listados.

NOTA: O padrão do comando find diferencia maiúsculas de minúsculas. Se você deseja que a pesquisa de uma palavra ou frase não faça distinção entre maiúsculas e minúsculas, use a -inameopção com o comando find. É a versão do -namecomando que não diferencia maiúsculas de minúsculas .

03_find_using_name_argument

Se findnão localizar nenhum arquivo que corresponda aos seus critérios, ele não produzirá saída.

O comando find tem várias opções disponíveis para refinar a pesquisa. Para obter mais informações sobre o comando find, execute man find  em uma janela Terminal e pressione Enter.

Usando o comando de localização

O comando locate é mais rápido que o comando find porque usa um banco de dados previamente construído, enquanto o comando find pesquisa 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 contendo o grupo de caracteres especificado.

Recomendado:  Os fones de ouvido com ou sem fio são melhores para jogos?

O banco de dados é atualizado periodicamente a partir 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 atualizadob

Digite sua senha quando solicitado.

04_updating_locate_database

A forma básica do comando locate encontra todos os arquivos no sistema de arquivos, começando na raiz, que contêm todos ou parte dos critérios de pesquisa.

localizar mydata

Por exemplo, o comando acima encontrou dois arquivos contendo “mydata” e um arquivo contendo “data”.

05_using_basic_locate_command

Se você deseja encontrar todos os arquivos ou diretórios que contêm exatamente e apenas seus critérios de pesquisa, use a -bopção com o comando locate, como segue.

localizar -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 arquivo 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 representa uma sequência contígua de caracteres. No exemplo acima, a barra invertida desativa a substituição implícita de “mydata” por “* mydata *”, então você acaba com apenas resultados contendo “mydata”.

06_locate_with_b_option

O comando mlocate é uma nova implementação de locate. Ele indexa todo o sistema de arquivos, mas os resultados da pesquisa incluem apenas os arquivos aos quais o usuário atual tem acesso. Quando você atualiza o banco de dados mlocate, ele mantém as informações de carimbo de data / hora no banco de dados. Isso permite que o mlocate saiba se o conteúdo de um diretório mudou sem ler o conteúdo novamente e torna as atualizações do banco de dados mais rápidas e menos exigentes em seu disco rígido.

Recomendado:  O que é um favicon?

Quando você instala o mlocate, o arquivo binário / usr / bin / locate muda para apontar para o mlocate. Para instalar o mlocate, se ainda não estiver incluído em sua distribuição Linux, digite o seguinte comando no prompt.

sudo apt-get install mlocate

NOTA: Mostraremos um comando posteriormente neste artigo que permite determinar onde o executável de um comando está localizado, se existir.

07_installing_mlocate

O comando mlocate não usa o mesmo arquivo de banco de dados que o comando locate padrão. Portanto, você pode criar o banco de dados manualmente digitando o seguinte comando no prompt:

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 .

08_creating_the_database

Para obter mais informações sobre o comando locate ou o mlocate, digite man locateou man mlocate  em uma janela Terminal e pressione Enter. A mesma tela de ajuda é exibida para ambos os comandos.

Usando o qual comando

O comando “which” retorna o caminho absoluto do executável que é chamado quando um comando é emitido. Isso é útil para encontrar a localização de um executável para criar um atalho para o programa na área de trabalho, em um painel ou outro local no gerenciador de área de trabalho. Por exemplo, digitar o comando which firefox exibe os resultados mostrados na imagem abaixo.

09_using_which_command

Por padrão, o comando which exibe apenas o primeiro executável correspondente. Para exibir todos os executáveis ​​correspondentes, use a -aopção com o comando:

qual -a firefox

Você pode pesquisar vários 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 “ps” foi encontrado.

10_using_which_command_multiple_programs

NOTA: O comando which pesquisa apenas a variável PATH do usuário atual. Se você pesquisar um executável que está disponível apenas para o usuário root como um usuário normal, nenhum resultado será exibido.

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.

Recomendado:  Como criar atalhos de teclado personalizados com AutoHotkey

Usando o Comando Whereis

O comando whereis é usado para descobrir onde os arquivos binários, de origem e de página de manual de um comando estão localizados. Por exemplo, digitar whereis firefox no prompt exibe os resultados conforme mostrado na imagem a seguir.

11_using_whereis_command

Se você deseja que apenas o caminho para o executável seja exibido, e não os caminhos para as páginas de origem e manual, use a -bopção. Por exemplo, o comando whereis -b firefoxserá exibido apenas /usr/bin/firefoxcomo resultado. Isso é útil porque você provavelmente pesquisará o arquivo executável de um programa com mais freqüência do que pesquisaria as páginas de código e de manual desse programa. Você também pode pesquisar apenas os arquivos de origem ( -s) ou apenas as páginas de manual ( -m).

Para obter mais informações sobre o comando whereis, digite man whereis em uma janela Terminal e pressione Enter.

Compreendendo a diferença entre o comando Whereis e o comando which

O comando whereis mostra a localização do binário, da origem e das páginas do manual de um comando, enquanto o comando which mostra apenas a localização do binário do comando.

O comando whereis pesquisa em uma lista de diretórios específicos os arquivos binários, de origem 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 páginas de manual do comando.

Quando se trata de resultados exibidos por padrão, o comando whereis exibe tudo o que encontra, enquanto o comando which exibe apenas o primeiro executável que encontra. Você pode mudar isso usando a -aopção, discutida anteriormente, para o comando which.

Como o comando whereis usa apenas caminhos embutidos no comando, você nem sempre encontra o que está procurando. Se você estiver procurando por um programa que você acha que pode estar instalado em um diretório não listado nas páginas do manual para o comando whereis, você pode usar o comando which com a -aopção de localizar todas as ocorrências do comando em todo o sistema.