which e whereis pesquisam executáveis no seu caminho - isso é uma limitação bastante significativa se você estiver procurando por algo diferente de um programa.
find tem muita flexibilidade, mas executa a pesquisa quando você a executa sem a ajuda de índices.
locate funciona mais rapidamente porque usa um banco de dados indexado de arquivos. O lado negativo disso é que ele não encontrará arquivos mais recentes que a última atualização do banco de dados. A atualização do banco de dados normalmente é feita regularmente por meio de um trabalho cron .