все утилиты всё же имеют различие, иначе зачем они все?
1) find - стандартный поиск по файловой системе
2) locate - ищет в базе (или базах), потому поиск быстрый, но не всегда точный (в том смысле, что базы могут быть устаревшими), к примеру вы только что создали файл, а locate его не находит, потому что базы ещё не обновились (можно вручную выполнить updatedb)
3) ls - листинг файлов в директории, применять его для поиска - некое извращение
4) whereis, which - они ищут исполняемые файлы, команды, которые можно найти в списке директорий вашей переменной $PATH
5) рекомендуются маны к прочтению