Respostas:
find
pesquisas no sistema real. É mais lento, mas sempre atualizado e tem mais opções (tamanho, hora da modificação, ...)
locate
usa um banco de dados criado anteriormente (comando updatedb
). É muito mais rápido, mas usa um banco de dados 'mais antigo' e pesquisa apenas nomes ou partes deles.
Em qualquer caso, man find
e man locate
irá ajudá-lo ainda mais.
updatedb
faça algo parecido find / -type f | gzip > locate.gz
.
Os comandos locate
e find
encontrarão um arquivo, mas eles funcionam de maneiras bem diferentes.
locate
funcionará no modo offline:
locate
, ele usa esse banco de dados para procurar um arquivo específico. O problema locate
é que, se você acabou de criar um arquivo que agora deseja procurar, a localização não funcionará porque o banco de dados slocate não está atualizado. Para superar esse problema, você pode usar updatedb
para atualizar o banco de dados slocate . A execução locate
novamente agora encontrará o arquivo recém-criado. Assim, muitos administradores de sistema Linux usam um cron
trabalho para atualizar regularmente o banco de dados slocate .find
funcionará no modo online / "em tempo real".
Portanto, com base na natureza, fica claro que a localização é mais rápida do que a localização, mas a localização é em tempo real.
Espero que isso ajude a esclarecer a idéia. Muito bem sucedida. :)
Uma alternativa ao uso de localização é o comando localizar. Esse comando geralmente é mais rápido e pode pesquisar todo o sistema de arquivos com facilidade. Você pode instalar o comando com o apt-get:
sudo apt-get update
sudo apt-get install mlocate
O motivo pelo qual a localização é mais rápida que a encontrada é porque ele depende de um banco de dados dos arquivos no sistema de arquivos. O banco de dados geralmente é atualizado uma vez por dia com um script cron, mas você pode atualizá-lo manualmente digitando:
sudo updatedb
Execute este comando agora. Lembre-se de que o banco de dados sempre deve estar atualizado se você deseja encontrar arquivos adquiridos ou criados recentemente.