Linux-Befehle · 5 min read · Sep 17, 2025
Linux Locate-Befehl für Anfänger (8 Beispiele)

Der locate-Befehl unter Linux ist ein leistungsstarkes Dienstprogramm, das zum schnellen Finden von Dateien und Verzeichnissen basierend auf ihren Namen verwendet wird. Es nutzt eine vorgefertigte Datenbank, die normalerweise regelmäßig durch den updatedb-Befehl aktualisiert wird, um schnelle Suchen durchzuführen, was es erheblich schneller macht als andere Suchwerkzeuge wie find. Wenn ein Benutzer den locate-Befehl gefolgt von einem Suchmuster ausführt, durchsucht er diese Datenbank anstelle des Dateisystems selbst und liefert die Ergebnisse nahezu sofort. Dies macht locate besonders nützlich für Systemadministratoren und Benutzer, die Dateien schnell finden müssen, ohne die Belastung eines Live-Dateisystemscans. Die Genauigkeit von locate hängt jedoch davon ab, wie häufig die Datenbank aktualisiert wird, da sie möglicherweise die neuesten Änderungen im Dateisystem nicht widerspiegelt, bis die nächste Aktualisierung erfolgt.
In diesem Tutorial werden wir den locate-Befehl mit leicht verständlichen Beispielen erklären. Bitte beachten Sie, dass alle hier genannten Anweisungen/Beispiele auf Ubuntu 24.04 getestet wurden.
1. Installieren Sie den locate-Befehl
Der locate-Befehl ist nicht standardmäßig auf Ubuntu und Debian Linux installiert. Sie können ihn mit diesem Befehl installieren:
sudo apt install locate
Locate sucht Dateien basierend auf einer vorcompilierten Dateinamen-Datenbank, was es viel schneller macht als z.B. der find-Befehl bei nachfolgenden Suchen. Aber bevor wir ihn verwenden können, müssen wir die Dateidatenbank erstellen und aktualisieren. Führen Sie den folgenden Befehl aus, um die locate-Datenbank zu erstellen:
sudo updatedbJetzt sind wir bereit, locate zu verwenden.
2. So verwenden Sie den locate-Befehl in Linux
Der locate-Befehl ist sehr einfach zu verwenden. Sie müssen nur den Dateinamen angeben, den Sie suchen möchten.
locate [dateiname]Wenn ich beispielsweise nach allen Dateinamen suchen möchte, die die Zeichenfolge ‘dir2’ enthalten, kann ich das mit locate auf folgende Weise tun:
Hinweis: Der Befehl ‘locate dir2’ (ohne Sternchen) funktioniert ebenfalls, da locate implizit den Namen, den Sie übergeben (sagen wir NAME), mit NAME ersetzt.
3. Wie der locate-Befehl funktioniert, oder warum er so schnell ist
Locate ist so schnell, weil es das Dateisystem nicht nach dem gesuchten Dateinamen oder Verzeichnisnamen liest. Es verweist auf eine Datenbank (die durch den Befehl updatedb vorbereitet wurde), um zu finden, wonach der Benutzer sucht, und produziert basierend auf dieser Suche seine Ausgabe.
Obwohl dies ein guter Ansatz ist, hat er seine Nachteile. Das Hauptproblem ist, dass Sie nach jeder Erstellung einer neuen Datei oder eines neuen Verzeichnisses im System die Datenbank des Tools aktualisieren müssen, damit es korrekt funktioniert. Andernfalls kann der Befehl Dateien/Verzeichnisse, die nach der letzten Datenbankaktualisierung erstellt wurden, nicht finden.
Wenn ich beispielsweise versuche, Dateien mit Namen zu finden, die die Zeichenfolge ‘tosearch’ im Verzeichnis ‘Downloads’ meines Systems enthalten, produziert der find-Befehl ein Ergebnis in der Ausgabe:
Aber wenn ich die gleiche Suche mit dem locate-Befehl durchführe, produziert er keine Ausgabe.
Das bedeutet, dass die Datenbank, in der locate sucht, nach der Erstellung der Datei im System nicht aktualisiert wurde. Lassen Sie uns also die Datenbank aktualisieren, was mit dem updatedb-Befehl erfolgen kann. So machen Sie das:
sudo updatedbUnd jetzt, wenn ich denselben locate-Befehl erneut ausführe, zeigt er die Dateien in der Ausgabe an:
Ebenso müssen Sie sicherstellen, dass die locate-Datenbank aktualisiert wurde, nachdem eine Datei oder ein Verzeichnis entfernt wurde, da der Befehl andernfalls die Datei weiterhin in seiner Ausgabe anzeigt, wenn danach gesucht wird.
4. So lassen Sie locate die Anzahl oder Anzahl der übereinstimmenden Einträge in der Ausgabe drucken
Wie wir gesehen haben, produziert der locate-Befehl die Namen der übereinstimmenden Dateien und deren vollständige oder absolute Pfade in der Ausgabe. Wenn Sie möchten, können Sie das Tool jedoch verwenden, um all diese Informationen zu unterdrücken und stattdessen nur die Anzahl oder Anzahl der übereinstimmenden Einträge zu drucken. Dies kann mit der -c-Befehlszeilenoption erfolgen.
5. So zwingen Sie locate, nur die Einträge zu drucken, die zu vorhandenen Dateien gehören
Wie wir bereits früher in diesem Artikel besprochen haben, wenn eine Datei aus dem System entfernt wird, wird der Befehl weiterhin diesen Dateinamen in der Ausgabe anzeigen, bis Sie die locate-Datenbank erneut aktualisieren. Für diesen speziellen Fall können Sie jedoch die Aktualisierung der Datenbank überspringen und dennoch korrekte Ergebnisse in der Ausgabe erhalten, indem Sie die -e-Befehlszeilenoption verwenden.
Zum Beispiel habe ich die Datei ‘filetosearch.txt’ von meinem System entfernt. Dies wurde durch den find-Befehl bestätigt, der die Datei nicht mehr suchen konnte:
Aber als ich die gleiche Operation mit locate durchführte, zeigte er die Datei weiterhin in der Ausgabe an:
Und wir wissen warum - weil die Datenbank von locate nach der Löschung der Datei nicht aktualisiert wurde. Mit der -e-Option hat es jedoch funktioniert:
Hier ist, was die Man-Seite von locate über diese Option sagt: “Druckt nur Einträge, die sich auf Dateien beziehen, die zum Zeitpunkt der Ausführung von locate existieren.”
6. So lassen Sie locate Groß-/Kleinschreibung ignorieren
Standardmäßig ist die Suchoperation, die der locate-Befehl durchführt, groß-/kleinschreibungsempfindlich. Sie können das Tool jedoch zwingen, Groß-/Kleinschreibung zu ignorieren, indem Sie die -i-Befehlszeilenoption verwenden.
Zum Beispiel habe ich zwei Dateien auf meinem System, die ‘newfiletosearch.txt’ und ‘NEWFILETOSEARCH.txt’ heißen. Wie Sie sehen können, sind die Dateinamen gleich, nur dass ihre Groß-/Kleinschreibung unterschiedlich ist. Wenn Sie locate bitten, nach, sagen wir, ”tosearch“ zu suchen, zeigt es nur den Dateinamen in Kleinbuchstaben in seiner Ausgabe an:
Aber mit der -i-Befehlszeilenoption wird der Befehl gezwungen, die Groß-/Kleinschreibung zu ignorieren, und beide Dateinamen werden in der Ausgabe angezeigt:
7. So trennen Sie Ausgabeeinträge mit ASCII NUL
Standardmäßig werden die Ausgabeeinträge, die der locate-Befehl produziert, mit dem Zeilenumbruch ( ) Zeichen getrennt. Wenn Sie möchten, können Sie jedoch den Separator ändern und ASCII NUL anstelle eines Zeilenumbruchs verwenden. Dies kann mit der -0-Befehlszeilenoption erfolgen.
Zum Beispiel habe ich denselben Befehl ausgeführt, den wir im letzten Abschnitt verwendet haben, aber die -0-Befehlszeilenoption hinzugefügt:
So sehen Sie, dass der Zeilenumbruchseparator nicht mehr vorhanden ist - er wurde durch NUL ersetzt.
8. So sehen Sie Informationen über die locate-Datenbank
Falls Sie wissen möchten, welche Datenbank locate verwendet, sowie andere Statistiken über die Datenbank, verwenden Sie die -S-Befehlszeilenoption.
9. So suchen Sie nach einem genauen Dateinamen mit locate
Standardmäßig, wenn Sie nach einem Dateinamen mit locate suchen, wird der Name, den Sie übergeben - sagen wir NAME - implizit durch NAME ersetzt. Wenn ich beispielsweise nach einem Dateinamen ‘testfile’ suche, werden alle Namen, die mit testfile übereinstimmen, in der Ausgabe angezeigt:

Aber was ist, wenn die Anforderung darin besteht, Dateien mit Namen zu suchen, die genau ‘testfile’ entsprechen? In diesem Fall müssen Sie reguläre Ausdrücke verwenden, die mit der -r-Befehlszeilenoption aktiviert werden können. So können Sie nur nach ‘testfile’ mit regulären Ausdrücken suchen:
locate -r /testfile$Wenn Sie neu in regulären Ausdrücken sind, gehen Sie hierhin. Um in ein anderes Verzeichnis zu wechseln, können Sie den cd-Befehl der Shell verwenden.
Fazit
Locate bietet viele weitere Optionen, aber die hier besprochenen sollten ausreichen, um Ihnen eine grundlegende Vorstellung von dem Befehlszeilen-Dienstprogramm zu geben und um Ihnen den Einstieg zu erleichtern. Wir empfehlen Ihnen, alle hier beschriebenen Optionen auf Ihrem Linux-Rechner auszuprobieren und dann zu anderen zu wechseln, die Sie auf der Man-Seite des Tools finden können.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.