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
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 updatedbAgora 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 updatedbE 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:

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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.