Möglichkeiten zur Verwendung von Find -Befehl, um Verzeichnisse effizienter zu durchsuchen

Möglichkeiten zur Verwendung von Find -Befehl, um Verzeichnisse effizienter zu durchsuchen

Dieses Tutorial führt Sie durch die verschiedenen Möglichkeiten, ein Verzeichnis in Linux zu finden. Wie Sie vielleicht bereits wissen, befindet sich in Linux alles eine Datei einschließlich Verzeichnisse. Und eines der gemeinsamen Dinge, die ein Linux -Benutzer in der Befehlszeile erledigt, sucht nach einer Datei oder einem Verzeichnis.

Es gibt verschiedene verschiedene Mittel und Dienstprogramme, die für die Suche nach Dateien in der Befehlszeile wie Find verwendet werden, Lokalisieren Und welche. Allerdings der letzte Dienstprogramm (welche) wird nur zum Auffinden eines Befehls verwendet.

Für den Umfang dieses Tutorials konzentrieren wir uns hauptsächlich auf das Find -Dienstprogramm, das Dateien in einem Live -Linux -Dateisystem durchsucht und im Vergleich zu zuverlässiger und zuverlässig ist Lokalisieren.

Der Nachteil von Lokalisieren ist, dass es eine oder mehrere Datenbanken liest, die von erstellt wurden, Aktualisiert, Es wird nicht durch ein Live -Dateisystem gesucht. Darüber hinaus bietet es nicht auch Flexibilität darüber, wohin sie suchen sollen (Ausgangspunkt).

Unten finden Sie die Syntax zum Laufen Lokalisieren Befehl:

# Suchen Sie [Option] [Suchpubert] 

Den Nachteil von demonstrieren Lokalisieren, Nehmen wir an, wir suchen nach einem Verzeichnis mit dem Namen pkg im aktuellen Arbeitsverzeichnis.

Notiz: In dem folgenden Befehl die Option --Grundname oder -B erzählt Lokalisieren nur mit dem Basisnamen der Datei (Verzeichnis) übereinstimmen (was genau ist pkg) aber nicht der Weg (/Pfad/to/pkg). Wo \ ist ein kugelförmiger Charakter, es deaktiviert den impliziten Ersatz von pkg von *pkg*.

$ locate --Basename '\ pkg' 
Suchen Sie das Verzeichnis mit dem Befehl Locate

Wie Sie aus der obigen Befehlsausgabe sehen können, Lokalisieren wird von der Stamme beginnend suchen (/) Verzeichnis, deshalb werden andere Verzeichnisse mit demselben Namen übereinstimmen.

Um dieses Problem zu lösen, verwenden Sie daher finden Durch Befolgen der vereinfachten Syntax unten:

$ Find-Ausgangspunktoptionen [Ausdruck] 

Schauen wir uns einige Beispiele an.

Nach demselben Verzeichnis zu suchen (PKG) Führen Sie oben im aktuellen Arbeitsverzeichnis den folgenden Befehl aus, wobei der -Name Flag liest den Ausdruck, der in diesem Fall der Verzeichnisbasisname ist.

$ find . -Nennen Sie "PKG" 

Wenn Sie begegnen "Zugriff verweigertFehler, verwenden Sie Sudo -Befehl wie SO:

$ sudo finde . -Nennen Sie "PKG" 
Suchen Sie ein Verzeichnis mit dem Befehl FIND

Sie können verhindern, dass Find nach anderen Dateitypen mit Ausnahme von Verzeichnissen sucht, indem Sie verwenden -Typ Flag, um den Dateityp anzugeben (im folgenden Befehl D bedeutet Verzeichnis) wie folgt:

$ sudo finde . -Geben Sie d -name "pkg" ein 

Wenn Sie das Verzeichnis in einem langen Auflistungsformat auflisten möchten, verwenden Sie außerdem den Aktionsschalter -ls:

$ sudo finde . -Typ d -name "pkg" -ls 
Verzeichnis finden und listen

Als nächstes die Option -in Namen Ermöglicht eine unempfindliche Suche nach Fall:

$ sudo finde . -Typ D -INAME "PKG" $ sudo Fund . -Geben Sie D -INAME "PKG" ein 
Verzeichnis mit Fallempfindlichkeit finden

Um interessantere und fortschrittlichere Nutzungsinformationen zu finden, lesen Sie die Mannseiten von finden Und Lokalisieren.

$ MAN FINDEN $ MAN Locate 

Als letzte Bemerkung ist der Befehl find zuverlässiger und effizienter für die Suche nach Dateien (oder Verzeichnissen) in einem Linux -System, wenn sie gegen die abgewogen werden Lokalisieren Befehl.

Vergessen Sie auf die gleiche Weise wie zuvor nicht, uns Ihr Feedback oder Ihre Fragen über den folgenden Kommentarbereich zu senden. Schließlich bleiben immer miteinander verbunden mit Tecmint.