find
faz um passeio cego de todo o sistema de arquivos procurando por correspondências. Demora tanto tempo porque ele está olhando para todos os arquivos em todos os diretórios e não parando até cobrir todo o sistema de arquivos.
locate
também cobre todo o sistema de arquivos, mas acelera as coisas tendo um banco de dados pré-construído (atualizado com o comando updatedb
) que ele usa para encontrar arquivos correspondentes.
whereis
e which
também pesquisam diretórios procurando por arquivos, mas eles pesquisam apenas um subconjunto muito específico de locais no sistema de arquivos (geralmente especificado por variáveis de ambiente como $PATH
e $MANPATH
conforme apropriado). Eles também param a primeira ocorrência, levando a tempos de execução mais rápidos.