locate
— это утилита Unix , служащая для поиска файлов в файловых системах . Он осуществляет поиск в заранее созданной базе данных файлов, созданных командой updatedb
или демоном и сжатых с использованием инкрементного кодирования . Он работает значительно быстрее, чем find
, но требует регулярного обновления базы данных. При этом приходится жертвовать общей эффективностью (из-за регулярного опроса файловых систем, даже когда информация никому не нужна) и абсолютной точностью (поскольку база данных не обновляется в реальном времени ) ради значительного повышения скорости, особенно на очень больших файловых системах.
locate
был впервые создан в 1982 году. [1] Версии BSD и GNU Findutils являются производными от исходной реализации. [2] Их основная база данных доступна для чтения всем, поэтому индекс создается от имени непривилегированного пользователя. locate
Команда также включена в MacOS .
mlocate
(Объединенный поиск) и более ранний вариант slocate
(Безопасный поиск) используют базу данных с ограниченным доступом, отображая только имена файлов, доступные пользователю. [3] [4]
plocate
использует списки сообщений. Как mlocate
и slocate
, он показывает файлы, только если find
их перечислить. [5] По сравнению с mlocate
, он намного быстрее, а его индекс меньше. [6] [7]
GNU Location и связанные с ним утилиты были первоначально написаны Джеймсом Вудсом с улучшениями Дэвида Маккензи.
...быстрее и не так сильно загрязняет системный кэш... пытается быть совместимым с GNUlocate, если это не конфликтует с совместимостью slocate.
...также проверит права доступа к файлам и владельца, чтобы пользователи не видели файлы, к которым у них нет доступа.
Варианты: