В чем разница между locate / whereis / который

В чем основное отличие между командой locate whereis и which.

Основное отличие, которое я наблюдал, состоит в том, что locate находит все связанные имена файлов во всей файловой системе, тогда как команды whereis и which дают только местоположение (системный / локальный адрес файла) установленного приложения. Насколько точны мои наблюдения?

Как эти команды реализованы внутри. Почему locate работает так быстро по сравнению с поиском тире, в то время как locate выполняет поиск определенного имени файла, соответствующего целевой строке во всей иерархии файловой системы?

1
задан 24 November 2016 в 12:24

1 ответ

Просто

$ which samba

, которая выполняет поиск программ, перечисленных вниз через настройки PATH

$ whereis samba

Команда whereis также выполняет поиск программ, отсутствующих в PATH установка

$locate samba

Также находит файлы по имени файла, но не выполняет поиск самой структуры каталогов, а только базу данных, подготовленную updatedb. Из-за этого местоположение быстрее, чем поиск, но менее точный. Примеры:

0
ответ дан 23 May 2018 в 08:03

Другие вопросы по тегам:

Похожие вопросы: