Antworten:
Die Antwort hängt von der Version von locate
Ihnen verwenden, aber es gibt eine faire Chance es ist mlocate
, das updatedb
läuft schnell durch Scans tun Full - Disk zu vermeiden:
mlocate ist eine locate / updatedb-Implementierung. Das 'm' steht für "Zusammenführen": updatedb verwendet die vorhandene Datenbank erneut, um zu vermeiden, dass der größte Teil des Dateisystems erneut gelesen wird. Dadurch wird updatedb schneller und der Systemcache wird nicht so stark geleert.
(In der Datenbank wird der Zeitstempel jedes Verzeichnisses ctime
oder mtime
, je nachdem, welcher neuer ist, gespeichert .)
Wie die meisten Implementierungen updatedb
, mlocate
‚s wird auch Dateisysteme und Pfade überspringen , die es so konfiguriert ist , zu ignorieren. Standardmäßig gibt es keine in mlocate
‚s Fall, aber Verteilungen typischerweise eine Basis bieten updatedb.conf
die Systeme vernetzen Datei ignoriert, virtuelle Dateisysteme usw. (siehe Debians Konfigurationsdatei zum Beispiel, das ist gängige Praxis in Debian, so GNU updatedb
ist ähnlich konfiguriert ).
mtime
seines unmittelbaren Elternteils ändern .
mlocate
kümmert es mich ctime
und mtime
was bedeutet, dass es nur darum geht, ob die Liste der Verzeichniseinträge immer noch dieselbe ist (keine entfernten oder hinzugefügten Dateien), was bedeutet, dass es sich nicht um tatsächliche Dateien selbst handelt. Ist das korrekt ?
locate
ist nicht grep -R
. Es werden keine Dateiinhalte gelesen.
mlocate
Ignoriert nicht nur die Änderungszeiten, sondern auch bestimmte Teilbäume des Dateisystems mit vielen uninteressanten oder möglicherweise doppelten Dateien, wie in /etc/updatedb.conf angegeben (und in man updatedb.conf beschrieben ):
updatedb
Implementierungen unterstützen auch konfigurierte Ausschlüsse.)