Respostas:
A resposta depende da versão de locateque você está usando, mas há uma boa chance é mlocate, cujo updatedbcorre rapidamente, evitando fazer varreduras disco cheio:
mlocate é uma implementação de localização / atualizaçãob. O 'm' significa "mesclagem": updatedb reutiliza o banco de dados existente para evitar a releitura da maior parte do sistema de arquivos, o que torna o updateb mais rápido e o lixo do cache do sistema.
(O banco de dados armazena o registro de data e hora de cada diretório ctimeou mtime, o que for mais recente.)
Como a maioria das implementações de updatedb, o mlocate's também ignorará os sistemas de arquivos e os caminhos que ele está configurado para ignorar. Por padrão, não há nenhum mlocatecaso, mas as distribuições geralmente fornecem um básico updatedb.confque ignora os sistemas de arquivos em rede, sistemas de arquivos virtuais etc. (veja o arquivo de configuração do Debian, por exemplo; esta é uma prática padrão no Debian, portanto o GNU updatedbé configurado da mesma forma ).
mtimede seu pai imediato.
mlocateimporta-se ctimee o mtimeque implica apenas se a lista de entradas do diretório ainda é a mesma (sem arquivos removidos ou adicionados), o que significa que ela não se importa com os arquivos reais. Isso está correto?
locatenão é grep -R. Não lê o conteúdo do arquivo.
Além de verificar os tempos de modificação, mlocatetambém ignora certas subárvores do sistema de arquivos que possuem muitos arquivos desinteressantes ou potencialmente duplicados, conforme especificado em /etc/updatedb.conf (e descrito em man updatedb.conf ):
updatedbimplementações também suportam exclusões configuradas.)