Відповіді:
Відповідь залежить від версії locateви використовуєте, але є шанс , що це mlocate, чий updatedbбіжить швидко, уникаючи робити повне сканування диска:
mlocate - це реалізація locate / updatedb. 'M' означає «злиття»: updatedb повторно використовує наявну базу даних, щоб уникнути повторного перечитування більшості файлової системи, що робить updateb швидше і не втрачає кеш систем.
(У базі даних зберігаються часові позначки кожного каталогу, ctimeабо те mtime, що відбувається новіше.)
Як і більшість реалізацій updatedb, mlocate's також буде пропускати файлові системи та шляхи, які він налаштований ігнорувати. За замовчуванням немає ні в mlocateразі «S, але дистрибутиви зазвичай забезпечують основний , updatedb.confякий ігнорує мережеві файлові системи, віртуальні файлові системи і так далі (див файл конфігурації в Debian , наприклад, це є стандартною практикою в Debian, так ГНУ updatedbбуде виконано аналогічно ).
mtimeсвого найближчого батька.
mlocateцікавить, ctimeа mtimeце означає, що його хвилює лише те, чи список записів у каталозі все-таки такий самий (жодних видалених чи доданих файлів), це означає, що він не дбає про самі фактичні файли. Це правильно ?
locateні grep -R. Він не читає вміст файлу.
На додаток до перевірки часу модифікації, mlocateтакож ігнорується певні піддерев'я файлової системи, які містять безліч нецікавих або потенційно дублюючих файлів, як зазначено в /etc/updateb.conf (і описано в man updatedb.conf ):
updatedbреалізації також підтримують налаштовані виключення.)