Os comandos locate
e find
encontrarão um arquivo, mas funcionam de maneiras bem diferentes.
locate
funcionará em um modo off-line:
- Para uma explicação simples, o banco de dados de indexação de arquivos no sistema Unix chamado slocate listará os locais de todos os arquivos que acompanham o sistema Unix. Quando você executa
locate
, ele usa esse banco de dados para procurar um arquivo específico. O problema com locate
é se você acabou de criar um arquivo que você deseja procurar agora, locate 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 de locate
novamente encontrará o arquivo recém-criado. Assim, muitos administradores de sistema Linux usam um trabalho cron
para atualizar regularmente o banco de dados slocate .
find
funcionará em um modo on-line / "em tempo real".
- Na verdade, ele irá procurar todos os diretórios para localizar o arquivo específico especificado e examinar cada arquivo um a um. Portanto, requer muitas chamadas de E / S.
Portanto, com base na natureza, fica claro que o locate é mais rápido que o find, mas o find é em tempo real.
Espero que isso ajude a esclarecer a ideia. Muito bem sucedida. :)