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

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

find sucht im realen System. Ist langsamer, aber immer aktuell und hat mehr Optionen (Größe, Änderungszeit, ...)

locate verwendet eine zuvor erstellte Datenbank (Befehl updatedb ). Ist viel schneller, verwendet aber eine 'ältere' Datenbank und durchsucht nur Namen oder Teile davon.

Auf jeden Fall man find und man locate hilft dir weiter.


Sowohl die locate und find Befehle finden eine Datei, aber sie funktionieren auf ganz unterschiedliche Weise.

locate funktioniert im Offline-Modus:

  • Zur einfachen Erklärung, die Dateiindizierungsdatenbank im Unix-System namens slocate listet die Speicherorte aller Dateien auf, die mit dem Unix-System geliefert werden. Wenn Sie locate ausführen , wird diese Datenbank verwendet, um nach einer bestimmten Datei zu suchen. Das Problem mit locate Wenn Sie gerade eine Datei erstellt haben, nach der Sie jetzt suchen möchten, lokalisieren wird nicht funktionieren, weil slocate Datenbank ist nicht aktuell. Um dieses Problem zu umgehen, können Sie updatedb verwenden um den slocate zu aktualisieren Datenbank. Ausführen von locate wieder findet nun die neu erstellte Datei. Daher verwenden viele Linux-Systemadministratoren einen cron Job, um den slocate regelmäßig zu aktualisieren Datenbank.

find wird in einem Online/"in Echtzeit"-Modus arbeiten.

  • Es durchsucht tatsächlich alle Verzeichnisse, um die bestimmte angegebene Datei zu finden, und untersucht jede Datei einzeln. Daher sind viele E/A-Aufrufe erforderlich.

Basierend auf der Natur ist es klar, dass Lokalisieren schneller ist als Finden, aber Finden ist in Echtzeit.

Hoffe, das hilft, die Idee zu klären. Alles Gute. :)


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

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

  3. Was ist der Unterschied zwischen adduser und useradd?

  4. Was ist der Unterschied zwischen ls und l?

  5. Was ist der Unterschied zwischen Unix, Linux, BSD und GNU?

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 einem Linux-Container und einem Image?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?