GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen dem Befehl „locate“ und „find“ in Linux?

Zwei beliebte Befehle zum Auffinden von Dateien unter Linux sind find und lokalisieren . Abhängig von der Größe Ihres Dateisystems und der Tiefe Ihrer Suche kann es manchmal sehr lange dauern, bis der Find-Befehl alle Daten durchsucht hat. Wenn Sie beispielsweise Ihr gesamtes Dateisystem nach den Dateien namens data.txt durchsuchen:

# find / -name data.txt

Höchstwahrscheinlich wird dies in der Größenordnung von Minuten dauern, wenn nicht länger, um zurückzukehren. Eine schnellere Methode ist die Verwendung des Befehls locate:

# locate data.txt

Diese Effizienz hat jedoch ihren Preis, denn die in der Ausgabe von locate gemeldeten Daten sind nicht so aktuell wie die vom find-Befehl gemeldeten Daten. Standardmäßig führt das System updatedb aus das einmal täglich einen Schnappschuss der Systemdateien erstellt, verwendet locate diesen Schnappschuss, um schnell zu melden, welche Dateien sich wo befinden. Kürzlich hinzugefügte oder entfernte Dateien (innerhalb von 24 Stunden) werden jedoch nicht im Snapshot aufgezeichnet und sind nicht zu finden.

Der Find-Befehl hat eine Reihe von Optionen und ist sehr konfigurierbar. Es gibt viele Möglichkeiten, die Tiefe und Breite Ihrer Suche zu reduzieren und sie effizienter zu gestalten.

locate verwendet eine zuvor erstellte Datenbank. Wenn die Datenbank nicht aktualisiert wird, zeigt der Befehl locate die Ausgabe nicht an. Um die Datenbank zu synchronisieren, muss der Befehl updatedb ausgeführt werden.

# updatedb
Linux / UNIX :Beispiele für find-Befehle zum Suchen von Dateien mit bestimmten Berechtigungen


Linux
  1. Was ist der Unterschied zwischen den Optionen -i und -U, die im RPM-Befehl unter Linux verwendet werden?

  2. Was ist der Unterschied zwischen &(kaufmännisches Und) und &&(doppeltes kaufmännisches Und) bei der gleichzeitigen Ausführung von Befehlen unter Linux

  3. Was ist der Unterschied zwischen env und set (unter Mac OS X oder Linux)?

  4. Unterschied zwischen '{}' und {} im Find-Befehl?

  5. Was ist der Unterschied zwischen ls und l?

Was ist der Unterschied zwischen macOS- und Linux-Kernels

Was ist der Unterschied zwischen Linux und Unix?

Was ist der Unterschied zwischen Rsync und BTRFS unter Linux?

Was ist der Unterschied zwischen Cat und Touch Command?

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Was ist der Unterschied zwischen Kill- und Killall-Befehlen?