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