Tutorial Linux - comando locate

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):

updatedb

Usando o locate

O uso do locate é bastante simples. Para pesquisar todos os arquivos e pastas com o nome "firefox", digite:

locate firefox

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:

locate -i firefox

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:

locate -l 5 firefox

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:

locate -e firefox

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:

locate -c *.mp3