Files
it-know-how/Linux/locate.md
T
2026-10-31 19:09:32 +01:00

2.6 KiB
Raw Blame History

locate – Dateien schnell anhand des Namens finden

locate sucht Dateipfade in einer vorberechneten Datenbank. Dadurch ist die Suche meist sehr schnell – anders als find muss locate dafür nicht bei jeder Suche das Dateisystem durchlaufen.

Auf aktuellen Linux-Systemen wird häufig plocate verwendet; andere Distributionen können eine andere locate-Implementierung bereitstellen. Verfügbare Optionen und der Aktualisierungsdienst können sich deshalb leicht unterscheiden.

Grundlegende Verwendung

locate ssh_config             # Pfade finden, deren Name zum Muster passt
locate -i readme.md           # Groß-/Kleinschreibung ignorieren
locate -b bashrc              # nur Dateinamen statt des gesamten Pfads durchsuchen

Anführungszeichen sind sinnvoll, wenn ein Suchmuster Leerzeichen oder Shell-Sonderzeichen enthält:

locate 'project notes'
locate '*.service'

Viele Implementierungen behandeln ein Muster ohne Platzhalter wie eine Teilzeichenfolge. Details zum Musterformat stehen in man locate.

Suchdatenbank aktualisieren

locate findet nur Einträge, die in seiner Datenbank stehen. Diese wird üblicherweise automatisch regelmäßig aktualisiert. Nach dem Erstellen oder Verschieben einer Datei kann die Datenbank daher zunächst veraltet sein.

Manuell aktualisieren (Befehl und Berechtigungen hängen von der Installation ab):

sudo updatedb

Danach die Suche erneut ausführen. Auf manchen Systemen heißt das Aktualisierungswerkzeug anders oder wird über einen systemd-Timer verwaltet.

Wann locate sinnvoll ist

  • Wenn schnell ein wahrscheinlich vorhandener Pfad gesucht werden soll.
  • Wenn der genaue Ordner unbekannt ist, der Dateiname aber ungefähr bekannt ist.
  • Für eine erste Orientierung, bevor eine gezieltere Suche gestartet wird.

Grenzen und Stolperfallen

  • locate durchsucht Dateinamen und Pfade, nicht den Inhalt der Dateien.
  • Neue, verschobene oder gelöschte Dateien sind eventuell noch nicht in der Datenbank berücksichtigt.
  • Es eignet sich nicht gut für Bedingungen wie Dateigröße, Änderungsdatum oder Dateityp innerhalb eines bestimmten Verzeichnisses.
  • Ein gefundener Pfad garantiert nicht, dass du die Datei lesen oder öffnen darfst.
  • Die Zugänglichkeit der Datenbank und ausgeschlossene Verzeichnisse hängen von der jeweiligen Konfiguration ab.

Für eine aktuelle Suche mit Filtern ist find besser geeignet, zum Beispiel:

find ~/Downloads -type f -iname '*bericht*.pdf'

Siehe auch