Pagina inicial » como » Como encontrar arquivos e pastas no Linux usando a linha de comando

    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 localizar arquivos no Linux, independentemente do gerenciador de área de trabalho que você usa.

    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 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 depois de "find" indica o diretório atual.

    Para encontrar arquivos que correspondam a um padrão específico, use o -nome 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 Documentos cd / comando para alterar para o diretório de documentos e, em seguida, digite o seguinte comando:

    encontrar . -name pro \ *

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

    NOTA: 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, use o -iname opção com o comando find. É a versão insensível do -nome comando.

    E se encontrar não localiza nenhum arquivo correspondente 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 encontrar homem  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.

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

    localizar mydata

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

    Se você deseja localizar todos os arquivos ou diretórios que contenham exatamente e somente os critérios de pesquisa, use o -b opção com o comando locate, como segue.

    localize -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 *”, de modo que você acaba com apenas resultados contendo “mydata”.

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

    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 instala mlocate

    OBSERVAÇÃO: mostraremos um comando mais adiante neste artigo que permite determinar onde o executável de um comando está localizado, se ele existe.

    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 mlocate, digite homem localize ou homem 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 qual firefox exibe os resultados mostrados na imagem abaixo.

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

    que - um firefox

    Você pode procurar múltiplos executáveis ​​usando ao mesmo tempo, conforme mostrado na imagem a seguir. Apenas os caminhos para os executáveis ​​encontrados são exibidos. No exemplo abaixo, apenas o executável “ps” foi encontrado.

    NOTA: O comando which procura apenas a variável PATH do usuário atual. Se você procurar por um executável que esteja disponível apenas para o usuário root como 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 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 resultados como mostrado na imagem a seguir.

    Se você quiser que apenas o caminho para o executável seja exibido, e não os caminhos para as páginas fonte e manual, use o -b opção. Por exemplo, o comando whereis -b firefox exibirá apenas / usr / bin / firefox como resultado. Isso é útil porque você provavelmente pesquisará o arquivo executável de um programa com mais freqüê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 homem onde 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 páginas man 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 -uma opção, discutida anteriormente, para o comando which.

    Como o comando whereis usa somente 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, talvez queira usar o comando which com o comando -uma opção para encontrar todas as ocorrências do comando em todo o sistema.