Em poucas palavras - find
passa pelo diretório que é dado (recursivamente) e procura por arquivos que correspondam aos critérios fornecidos. locate
, por outro lado, usa um banco de dados pré-preparado anteriormente criado por updatedb
. É lógico que locate
deve ser mais rápido, mas é menos preciso, já que o banco de dados usado pode estar desatualizado e pode não refletir mais o sistema de arquivos real.