
O comando locate é usado para pesquisar arquivos no Linux. Esse comando possui como principal vantagem a velocidade de busca. Ao invés de pesquisar arquivos diretamente no disco, o locate consulta uma base de dados com a localização de cada arquivo no disco (pesquisa indexada).
Base de dados do locate
A base de dados do locate fica no arquivo /var/lib/mlocate/mlocate.db .
Atualizando a base de dados do locate
A medida que novos arquivos são criados e apagados, é necessário atualizar essa base de dados para que o locate consiga localizar todos os arquivos. Para isso, execute o comando (como root):
Usando o locate
O uso do locate é bastante simples. Para pesquisar todos os arquivos e pastas com o nome "firefox", digite:
O locate é case sensitive
Para o locate, arquivos com letras minúsculas e maiúsculas são diferentes. Para pesquisar arquivos tanto com minúsculas quanto maiúsculas use a opção -i, conforme abaixo:
Limitando a quantidade de arquivos encontrados com o locate
No exemplo anterior nós pesquisamos pela palavra "firefox" usando o locate e ele localizou várias pastas e arquivos com o nome firefox. Para exibir uma menor quantidade de resultados da busca, pode ser usado o paramêtro -l seguido do número de resultados desejados. Para exibir apenas os 5 primeiros resultados digite:
Verificando se um arquivo ainda existe
Caso a base de dados do locate ( /var/lib/mlocate/mlocate.db ) estiver desatualizada, pode ser que ela "encontre" um arquivo que já foi apagado do disco. Neste caso existem duas opções: a primeira é atualizar a base de dados com o comando updatedb e a segunda opção é usar o paramêtro -e para que o locate verifique se cada um dos arquivos encontrados, ainda existe no disco, conforme pode ser visto abaixo:
Contando o número de arquivos encontrados com o locate
Algumas vez pode ser interessante apenas contar o número de arquivos encontrados ao invés de mostrar todos os arquivos. Por exemplo se você quiser saber quantos arquivos .mp3 existem no seu computador, digite: