Linux Commands · 6 min read · Sep 17, 2025

Comando Locate do Linux para Iniciantes (8 Exemplos)

O comando locate no Linux é uma ferramenta poderosa usada para encontrar rapidamente arquivos e diretórios com base em seus nomes. Ele utiliza um banco de dados pré-construído, que geralmente é atualizado periodicamente pelo comando updatedb, para realizar buscas rápidas, tornando-se significativamente mais rápido do que outras ferramentas de busca como find. Quando um usuário emite o comando locate seguido por um padrão de busca, ele escaneia esse banco de dados em vez do sistema de arquivos em si, fornecendo resultados quase instantaneamente. Isso torna o locate particularmente útil para administradores de sistema e usuários que precisam localizar arquivos rapidamente sem a sobrecarga de uma varredura ao vivo do sistema de arquivos. No entanto, a precisão do locate depende da frequência com que o banco de dados é atualizado, pois pode não refletir as mudanças mais recentes no sistema de arquivos até a próxima atualização.

Neste tutorial, explicaremos o comando locate com exemplos fáceis de entender. Observe que todas as instruções/exemplos mencionados aqui foram testados no Ubuntu 24.04.

1. Instalar o comando locate

O comando locate não vem pré-instalado no Ubuntu e Debian Linux. Você pode instalá-lo usando este comando:

sudo apt install locate

Instalar comando locate

O Locate faz sua busca de arquivos com base em um banco de dados de nomes de arquivos pré-compilado, o que o torna muito mais rápido do que, por exemplo, o comando find ao fazer buscas subsequentes. Mas antes que possamos usá-lo, teremos que criar e atualizar o banco de dados de arquivos. Execute o seguinte comando para criar o banco de dados locate:

sudo updatedb

Agora estamos prontos para começar a usar o locate.

2. Como usar o comando locate no Linux

O comando locate é muito fácil de usar. Você só precisa passar o nome do arquivo que deseja pesquisar.

locate [nome_do_arquivo]

Por exemplo, se eu quiser pesquisar todos os nomes de arquivos que contêm a string ‘dir2’, posso fazer isso usando locate da seguinte maneira:

Nota: O comando ‘locate dir2’ (sem asteriscos) também funcionará, pois o locate implicitamente substitui o nome que você passa (digamos NOME) por NOME.

3. Como o comando locate funciona, ou, por que é tão rápido

O Locate é tão rápido porque não lê o sistema de arquivos para o nome do arquivo ou diretório pesquisado. Ele se refere a um banco de dados (preparado pelo comando updatedb) para encontrar o que o usuário está procurando e, com base nessa busca, produz sua saída.

Embora essa seja uma boa abordagem, ela tem suas desvantagens. O principal problema é que, após cada novo arquivo ou diretório ser criado no sistema, você precisa atualizar o banco de dados da ferramenta para que ela funcione corretamente. Caso contrário, o comando não será capaz de encontrar arquivos/diretórios que foram criados após a última atualização do banco de dados.

Por exemplo, se eu tentar encontrar arquivos com nomes contendo a string ‘tosearch’ no diretório ‘Downloads’ do meu sistema, o comando find produz um resultado na saída:

Mas quando eu tento realizar a mesma busca usando o comando locate, ele não produz nenhuma saída.

Isso significa que o banco de dados que o locate pesquisa não foi atualizado após o arquivo ter sido criado no sistema. Então, vamos atualizar o banco de dados, o que pode ser feito usando o comando updatedb. Veja como você faz isso:

sudo updatedb

E agora, quando eu executo o mesmo comando locate novamente, ele mostra arquivos na saída:

Da mesma forma, após um arquivo ou diretório ter sido removido, você precisa garantir que o banco de dados locate tenha sido atualizado, caso contrário, o comando continuará mostrando o arquivo em sua saída quando pesquisado.

4. Como fazer o locate imprimir o número ou a contagem de entradas correspondentes na saída

Como vimos, o comando locate produz os nomes dos arquivos correspondentes e seus caminhos completos ou absolutos na saída. Mas se você quiser, pode usar a ferramenta para suprimir todas essas informações e apenas imprimir o número ou a contagem de entradas correspondentes. Isso pode ser feito usando a opção de linha de comando -c.

5. Como forçar o locate a imprimir apenas aquelas entradas que correspondem a arquivos existentes

Como já discutimos anteriormente neste artigo, se um arquivo for removido do sistema, até que você atualize o banco de dados locate novamente, o comando continuará mostrando aquele nome de arquivo na saída. Para esse caso específico, no entanto, você pode pular a atualização do banco de dados e ainda ter resultados corretos na saída usando a opção de linha de comando -e.

Por exemplo, eu removi o arquivo ‘filetosearch.txt’ do meu sistema. Isso foi confirmado pelo comando find, que não conseguiu mais pesquisar o arquivo:

Mas quando eu realizei a mesma operação usando locate, ele ainda estava mostrando o arquivo na saída:

E sabemos por quê - porque o banco de dados do locate não foi atualizado após o arquivo ter sido excluído. No entanto, usar a opção -e resolveu o problema:

Aqui está o que a página do manual do locate diz sobre esta opção: “Imprimir apenas entradas que se referem a arquivos existentes no momento em que o locate é executado.”

6. Como fazer o locate ignorar distinções de maiúsculas e minúsculas

Por padrão, a operação de busca que o comando locate realiza é sensível a maiúsculas e minúsculas. Mas você pode forçar a ferramenta a ignorar distinções de maiúsculas e minúsculas usando a opção de linha de comando -i.

Por exemplo, eu tenho dois arquivos no meu sistema, chamados ‘newfiletosearch.txt’ e ‘NEWFILETOSEARCH.txt’. Assim, como você pode ver, os nomes dos arquivos são os mesmos, apenas com casos diferentes. Se você pedir ao locate para pesquisar, digamos, “tosearch“, então ele mostrará apenas o nome em letras minúsculas na sua saída:

Mas usar a opção de linha de comando -i força o comando a ignorar o caso, e ambos os nomes de arquivos são produzidos na saída:

7. Como separar entradas de saída com NUL ASCII

Por padrão, as entradas de saída que o comando locate produz são separadas usando o caractere de nova linha ( ). Mas se você quiser, pode mudar o separador e ter o NUL ASCII em vez de uma nova linha. Isso pode ser feito usando a opção de linha de comando -0.

Por exemplo, eu executei o mesmo comando que usamos na seção anterior, mas adicionei a opção de linha de comando -0:

Assim, você pode ver que o separador de nova linha não está mais lá - ele foi substituído por NUL.

8. Como visualizar informações sobre o banco de dados locate

Caso você queira saber qual banco de dados o locate está usando, bem como outras estatísticas sobre o banco de dados, use a opção de linha de comando -S.

9. Como pesquisar um nome de arquivo exato usando locate

Por padrão, quando você pesquisa um nome de arquivo usando locate, o nome que você passa - digamos NOME - é implicitamente substituído por NOME. Por exemplo, se eu pesquisar por um nome de arquivo ‘testfile’, então todos os nomes correspondentes a testfile são produzidos na saída:

pesquisar por nome de arquivo exato usando locate

Mas e se o requisito for pesquisar arquivos com nomes exatamente correspondentes a ‘testfile’? Bem, nesse caso, você terá que usar expressões regulares, que podem ser ativadas usando a opção de linha de comando -r. Então, veja como você pode pesquisar apenas ‘testfile’ usando expressões regulares:

locate -r /testfile$

Se você é novo em expressões regulares, acesse aqui. Para mudar para um diretório diferente, você pode usar o comando cd do shell.

Conclusão

O Locate oferece muitas mais opções, mas as que discutimos aqui devem ser suficientes para lhe dar uma ideia básica sobre a utilidade da linha de comando, bem como para começar. Aconselhamos você a experimentar todas as opções descritas aqui em sua máquina Linux e, em seguida, passar para outras que você pode encontrar na página do manual da ferramenta.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.