Відповіді:
Відповідь залежить від версії 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
реалізації також підтримують налаштовані виключення.)