28Jun

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

A maioria das pessoas usa um gerenciador de arquivos gráfico para encontrar arquivos no Linux, como o Nautilus no Gnome, o Dolphin no KDE e o Thunar no Xfce. No entanto, existem várias maneiras de usar a linha de comando para encontrar arquivos no Linux, independentemente do gerenciador de área de trabalho que você use.

Usando o comando Localizar

O comando "Encontrar" permite pesquisar arquivos para os quais você conhece os nomes de arquivos aproximados. A forma mais simples do comando busca arquivos no diretório atual e recursivamente através 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.

encontrar.

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

Para encontrar arquivos que correspondem a um padrão específico, use o argumento -name. Você pode usar metacaracteres de nomes de arquivos( como *), mas você deve colocar um caractere de escape( \) na frente de cada um deles ou anexá-los entre aspas.

Por exemplo, se queremos encontrar todos os arquivos que começam com "pro" no diretório de Documentos, usamos o cd Documents / command para mudar para o diretório de Documentos e digite o seguinte comando:

find.-name pro \ *

Todos os arquivos no diretório atual começando com "pro" estão listados.

NOTA: O comando find normalmente é sensível a maiúsculas e minúsculas. Se você deseja que a busca de uma palavra ou frase seja insensível às maiúsculas e minúsculas, use a opção -iname com o comando find.É a versão insensível ao caso do comando -name.

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

O comando find tem muitas opções disponíveis para refinar a pesquisa. Para obter 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 do que o comando find porque ele usa um banco de dados construído anteriormente, 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 a partir do cron, mas você também pode atualizá-lo você mesmo a qualquer momento para que você possa obter resultados atualizados. Para fazer isso, digite o seguinte comando no prompt:

sudo updatedb

Digite sua senha quando solicitado.

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

localize mydata

Por exemplo, o comando acima encontrou dois arquivos contendo "mydata" e um arquivo contendo "dados".

Se você deseja encontrar todos os arquivos ou diretórios que contenham exatamente e apenas seus critérios de pesquisa, use a opção -b como comando locate, da seguinte forma.

localize -b '\ mydata'

A barra invertida no comando acima é um caractere globbing, que fornece uma maneira de expandir 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 representa uma sequência contígua de caracteres. No exemplo acima, a barra invertida desativa a substituição implícita de "mydata" por "* mydata *" para que você acabe com apenas resultados contendo "mydata".

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

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

sudo apt-get install mlocate

NOTA: Nós mostraremos um comando mais adiante neste artigo que permite que você determine onde o executável de um comando está localizado, se ele existir.

O comando mlocate não usa o mesmo arquivo de banco de dados que o comando de localização padrão. Portanto, você pode querer 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.

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

Usando o 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 que o Firefox exibe os resultados mostrados na imagem abaixo.

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

que -a firefox

Você pode procurar vários executáveis ​​usando uma única vez, conforme mostrado na imagem a seguir. Somente são exibidos os caminhos para executáveis ​​encontrados. No exemplo abaixo, apenas o executável "ps" foi encontrado.

NOTA: O comando que apenas procura a variável PATH do usuário atual. Se você procurar um executável que esteja disponível apenas para o usuário raiz como usuário normal, nenhum resultado será exibido.

Para obter mais informações sobre o comando, 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 de página binários, de origem e de man para um comando estão localizados. Por exemplo, digitar onde é o Firefox no prompt exibe resultados como mostrado na seguinte imagem.

Se você quiser apenas o caminho para o executável para exibir, e não os caminhos para a origem e as páginas do homem( ual), use a opção -b. Por exemplo, o comando whereis -b firefox exibirá apenas o /usr/bin/ firefox como resultado. Isso é útil porque você provavelmente procurará o arquivo executável de um programa com mais freqüência do que você procuraria por páginas de origem e man para esse programa. Você também pode procurar apenas os arquivos de origem( -s) ou somente as páginas de manual( -m).

Para mais informações sobre o comando whereis, digite o homem onde está em uma janela do Terminal e pressione Enter.

Compreendendo a Diferença entre o Comando Whereis eo Comando

O comando whereis mostra o local para as páginas binária, fonte e man para um comando, enquanto que o comando que apenas mostra a localização do binário para o comando.

O comando whereis procura por uma lista de diretórios específicos para os arquivos binário, fonte e man, enquanto o comando que procura 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 man para o comando.

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

Porque o comando whereis usa apenas caminhos codificados no comando, você nem sempre pode encontrar o que está procurando. Se você estiver procurando por um programa que você acha que pode ser instalado em um diretório não listado nas páginas man para o comando whereis, você pode querer usar o comando com a opção -a para encontrar todas as ocorrências do comando em todo o sistema.