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

So verwenden Sie den Befehl locate unter Linux

Einführung

Der locate command ist ein Unix-Dienstprogramm zum schnellen Auffinden von Dateien und Verzeichnissen. Der Befehl ist eine bequemere und effizientere Alternative zum find Befehl, der aggressiver ist und länger braucht, um die Suche abzuschließen.

Gegenteil von find , das locate Der Befehl durchsucht nicht das gesamte Dateisystem, sondern durchsucht eine regelmäßig aktualisierte Dateidatenbank im System. Dadurch wird die Suche viel schneller abgeschlossen.

In diesem Tutorial erfahren Sie, wie Sie locate installieren und verwenden Befehl unter Linux.

Voraussetzungen

  • Ein System, auf dem Linux ausgeführt wird.
  • Ein Konto mit Administratorrechten.

So installieren Sie locate

Je nachdem, welche Linux-Distribution Sie verwenden, wird die Datei locate Paket darf nicht vorinstalliert sein.

Um zu prüfen, ob locate installiert ist, geben Sie ein:

locate

Wenn locate auf Ihrer Distribution installiert ist, gibt der Befehl die folgende Ausgabe aus:

Für dieses Tutorial haben wir Ubuntu 20.04 verwendet, das nicht mit locate geliefert wird Dienstprogramm vorinstalliert. In diesem Fall lautet die Ausgabenachricht:

Installieren Sie locate unter Ubuntu und Debian

Führen Sie die folgenden Schritte aus, um locate zu installieren unter Ubuntu oder Debian:

1. Aktualisieren Sie das Paket-Repository:

sudo apt update 

2. Installieren Sie locate Paket durch Ausführen von:

sudo apt install mlocate

Installieren Sie locate unter CentOS und Fedora

Führen Sie die folgenden Schritte aus, um locate zu installieren auf CentOS oder Fedora:

1. Aktualisieren Sie das Paket-Repository:

sudo yum -y update

2. Führen Sie den folgenden Befehl aus, um locate zu installieren :

sudo yum install mlocate

Verwendung des locate-Befehls unter Linux mit Beispielen

Der locate Der Befehl findet Dateien in Linux anhand des Dateinamens. locate wird verwendet, um sofortige Ergebnisse zu erhalten, und es ist ein wesentliches Dienstprogramm, wenn Geschwindigkeit eine Priorität ist.

Der Befehl führt die Suche unter Verwendung einer Datenbank durch, die Teile von Dateien mit den entsprechenden Pfaden im System enthält. Jedoch locate sucht nicht nach Dateien außerhalb der Datenbank, d. h. es werden keine Dateien gemeldet, die nach der letzten Datenbankaktualisierung erstellt wurden.

Die Syntax für locate Befehl ist:

locate [options] [pattern]

Einige nützliche Optionen sind:

Option Beschreibung
-A, --all Zeigt nur die Einträge an, die mit allen angegebenen Mustern übereinstimmen.
-b, --basename Gleicht nur den Basisnamen mit den angegebenen Mustern ab.
-c, --count Gibt statt der Dateinamen die Anzahl der übereinstimmenden Einträge aus.
-d, --database [DBPATH] Ersetzt die Standarddatenbank durch [DBPATH] - eine durch Doppelpunkte getrennte Liste von Datenbankdateinamen.
-e, --existing Zeigt nur Einträge für vorhandene Dateien an.
-L, --follow Überprüfen Sie, ob Dateien vorhanden sind, wenn --existing Option angegeben ist. Der --follow Option lässt defekte symbolische Links weg.
-i, --ignore-case Ignoriert die Groß-/Kleinschreibung von Mustern.
-p, --ignore-spaces Ignoriert Satzzeichen und Leerzeichen beim Abgleich von Mustern.
-t, --transliterate Verwendet iconv Transliteration, um Akzente und diakritische Zeichen beim Abgleich von Mustern zu ignorieren.
-l, --limit, -n [LIMIT] Verwenden Sie diese Option, um erfolgreich zu beenden, nachdem Sie ein [LIMIT] gefunden haben Anzahl der Einträge.
-0, --null Trennt Ausgabeeinträge mit dem ASCII NUL Zeichen, anstatt jeden Eintrag in einer neuen Zeile auszugeben.
-S, --statistics Gibt die Statistik über jede gelesene Datenbank auf die Standardausgabe aus, anstatt nach Dateien zu suchen.
-q, --quiet Versteckt alle Fehler, die beim Lesen und Verarbeiten von Datenbanken aufgetreten sind.
-r, --regexp [REGEXP] Verwendet für die Suche nach einem einfachen regulären Ausdruck [REGEXP] . Die Angabe dieser Option lässt [pattern] nicht zu Argumente.
-w, --wholename Gleicht nur den gesamten Pfadnamen mit den angegebenen Mustern ab.
-h, --help Zeigt die Hilfedatei mit einer Liste aller verfügbaren Optionen an.

In den folgenden Abschnitten sind hilfreiche Beispiele für die Verwendung von locate aufgeführt Befehl.

Nach einer Datei suchen

Die einfachste Art, locate zu verwenden Befehl ist die Eingabe des Musters, nach dem Sie suchen möchten.

Suchen Sie beispielsweise nach allen Dateien, die mysql enthalten Muster im Dateinamen, indem Sie den folgenden Befehl ausführen:

locate mysql

Die Ausgabe listet alle absoluten Pfade für die Dateien auf, die mysql enthalten Muster im Dateinamen.

Ausgabe formatieren

Wenn das Suchergebnis eine lange Liste von Dateien ist, leiten Sie locate weiter Befehl in less für bessere Lesbarkeit und einfacheres Scrollen.

Zum Beispiel:

locate mysql | less

Navigieren Sie durch die Ausgabe, indem Sie die Leertaste drücken vorwärts gehen, b zum Umkehren oder Q beenden.

Vorhandene Dateien anzeigen

Während die locate Befehl Ergebnisse fast augenblicklich abruft, die Geschwindigkeit hat ihren Preis. Manchmal erscheinen gelöschte Dateien in den Ergebnissen, weil die Datenbank locate reads wurde nicht aktualisiert, seit die Dateien gelöscht wurden. Außerdem erscheinen keine neuen Dateien in den Ergebnissen, wenn sie nach der letzten Datenbankaktualisierung erstellt wurden.

Beseitigen Sie diese Mängel mit dem -e Option, das Dateisystem zu durchsuchen und nur die vorhandenen Dateien in die Ergebnisse aufzunehmen.

Zum Beispiel:

Im obigen Beispiel haben wir zuerst eine Datei mit rm gelöscht . Suche nach der Datei mit locate zeigt den Speicherort der gelöschten Datei. Bei Verwendung des -e Option locate zeigt keine Ergebnisse an, seit die Datei entfernt wurde.

Bestehende Dateien zählen

Geben Sie die Anzahl der übereinstimmenden Dateien anstelle der Dateinamen und ihrer absoluten Pfade aus, indem Sie -c angeben Option.

Zum Beispiel:

locate -c mysql

Die Ausgabe enthält nur die Anzahl der Dateien, die mysql enthalten Zeichenfolge im Dateinamen. Alle anderen Informationen werden unterdrückt.

Fehler beim Suchen deaktivieren

Das -q Option weist locate an um Fehler zu unterdrücken, die beim Lesen einer Datenbank auftreten könnten.

Im folgenden Beispiel locate verwendet eine andere Datenbank, um die Suche durchzuführen. Der Befehl meldet zunächst, dass die Datenbank nicht existiert.

Die Angabe von -q Option unterdrückt den Fehler:

Begrenzen Sie die Anzahl der Suchergebnisse

Begrenzen Sie die Anzahl der Suchergebnisse mit dem -n Option, um redundante Ergebnisse zu vermeiden. Begrenzen Sie die Suche beispielsweise auf nur zehn Ergebnisse, indem Sie Folgendes eingeben:

locate *.txt -n 10

Die Ausgabe zeigt nur die ersten zehn Dateien, die dem Suchmuster entsprechen.

Groß-/Kleinschreibung ignorieren

Standardmäßig locate führt bei der Verarbeitung der Eingabeabfrage eine Suche mit Berücksichtigung der Groß-/Kleinschreibung durch. Weisen Sie locate an um Groß- und Kleinschreibung mit -i zu ignorieren Option.

Im folgenden Beispiel haben wir zuerst nach example_file gesucht in Kleinbuchstaben und locate zeigte keine Ausgabe, da der Dateiname Großbuchstaben enthält.

Die Suche nach der Datei in Großbuchstaben zeigt den Speicherort der Datei:

Führen Sie die gleiche Suche in Kleinbuchstaben durch und geben Sie -i an Option ignoriert Groß- und Kleinschreibung und zeigt die Datei in der Ausgabe:

Nach einer Datei mit einem genauen Namen suchen

Standardmäßig locate parst das Eingabemuster als String und zeigt alle Dateien an, die das Eingabemuster im Dateinamen enthalten. Suchen Sie beispielsweise nach mysql zeigt alle Dateien, die mysql enthalten Zeichenfolge als Teil des Dateinamens anstelle von Dateien, deren vollständiger Dateiname mysql ist .

Suchen Sie mithilfe von -r nach einer Datei mit einem genauen Namen (regulärer Ausdruck) Option.

Zum Beispiel:

Die Ausgabe zeigt nur die Dateien, deren Dateiname vollständig mit dem Eingabemuster übereinstimmt.

Ausgabeeinträge mit ASCII NUL trennen

Die Ausgabeeinträge, die locate produziert werden durch einen Zeilenumbruch getrennt (\n ) Charakter. Verwenden Sie -0 Option zum Trennen von Einträgen mit ASCII NUL anstelle des Zeilenumbruchzeichens.

Zum Beispiel:

locate -0 apache

Das Standardtrennzeichen ist nicht mehr das Zeilenumbruchzeichen, und die Einträge werden mit ASCII NUL getrennt .

Datenbankstatistik anzeigen

Der locate Mit dem Befehl können Sie verschiedene Datenbankstatistiken anzeigen, einschließlich der Anzahl der in der Datenbank gespeicherten Verzeichnisse und Dateien. Um Datenbankstatistiken anzuzeigen, geben Sie -S an Möglichkeit:

locate -S

Die Ausgabe gibt an, welche Datenbank locate verwendet, die Anzahl der Verzeichnisse und Dateien und die Datenbankgröße in Byte.

Lokalisierungsdatenbank aktualisieren

Die Datenbank, die locate verwendet automatisch Updates täglich zur gleichen Zeit. Führen Sie den folgenden Befehl aus, um die Datenbank manuell zu aktualisieren und sicherzustellen, dass der Dateiindex korrekt ist:

sudo updatedb

Der Aktualisierungsvorgang dauert einige Sekunden, je nach Anzahl der Dateien auf dem System.

Wählen Sie eine andere mlocate-Datenbank aus

Weisen Sie locate an um eine andere Datenbank als die Standarddatenbank zu verwenden, indem Sie -d angeben Möglichkeit. Die Funktion ist hilfreich, wenn Sie nach Ergebnissen suchen, die in der Standardeinstellung mlocate nicht vorhanden sind Datenbank.

Um eine andere Datenbank anzugeben, verwenden Sie die folgende Syntax:

locate -d [new database path] [pattern]

Diakritische Zeichen und Akzentunterschiede ignorieren

Der locate Der Befehl verwendet gewöhnliche Buchstaben für den Ergebnisabgleich, was bedeutet, dass Dateinamen, die Buchstaben mit diakritischen Zeichen enthalten, nicht in den Suchergebnissen erscheinen. Verwenden Sie das -t Option zum Anweisen von locate solche Unterschiede zwischen Buchstaben zu ignorieren und diakritische Zeichen in die Ergebnisse aufzunehmen.

Zum Beispiel:

Auf der Suche nach dem netten Café Muster zeigt im obigen Beispiel keine Ergebnisse, da der Dateiname ein diakritisches Zeichen enthält. Erneutes Suchen nach demselben Muster und Spezifizieren des -t Option zeigt das nette Café Dateipfad als Ergebnis, wobei das diakritische Zeichen im Dateinamen ignoriert wird.


Ubuntu
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den Verlaufsbefehl unter Linux

  3. So verwenden Sie den Apt-Get-Befehl unter Linux

  4. So verwenden Sie den id-Befehl unter Linux

  5. So verwenden Sie den Befehl „screen“ unter Linux

So verwenden Sie den Linux Top-Befehl

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

So verwenden Sie den RPM-Befehl unter Linux

So verwenden Sie den which-Befehl in Linux