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

Finden Sie Befehl in Linux/UNIX

Der Linux-Befehl find ist praktisch, wenn Sie direkt von der Befehlszeile aus nach Dateien suchen. Dem Find-Befehl werden Suchkriterien wie Berechtigungen, Besitz, Änderung, Größe, Uhrzeit und Datum unter anderem gegeben, um die betreffende Datei oder das betreffende Verzeichnis zu finden.

Der Find-Befehl ist standardmäßig in allen Linux-Distributionen verfügbar, daher müssen keine speziellen Pakete installiert werden, um ihn zu verwenden. Aufgrund seiner Bedeutung ist der Befehl find ein wesentlicher Befehl, den Sie lernen sollten, wenn Sie mehr über die Befehlszeilenavigation in einer beliebigen Linux-Distribution wissen möchten.

Wir werden einige der find-Befehlsbeispiele hervorheben und die verschiedenen Optionen erklären, die Sie verwenden können.

Syntax

$ find location  comparison-criteria  search term

Dateien im aktuellen Verzeichnis auflisten

Führen Sie den folgenden Befehl aus, um alle Dateien in einem Verzeichnis einschließlich Dateien in Ordnern aufzulisten.

$ find .

Beispielausgabe

Dateien in einem bestimmten Verzeichnis suchen

Wenn Sie alle Dateien in einem bestimmten Verzeichnis durchsuchen möchten, verwenden Sie den Find-Befehl wie folgt

$ find directory_name

Um beispielsweise nach allen Dateien in /boot zu suchen, führen Sie den Befehl

aus
$ find /boot

Beispielausgabe

Suchen von Dateien anhand des Dateinamens innerhalb eines bestimmten Verzeichnisses

Wenn Sie die Suchkriterien anhand des Dateinamens in einem Verzeichnis angeben möchten, lautet die Syntax wie folgt

$ find directory_name -name "file_name"

Um beispielsweise nach Apache2-Dateien im /etc-Verzeichnis zu suchen, führen Sie

aus
$ find /etc -name "apache2"

Ausgabe

Alle Dateien mit einer bestimmten Dateierweiterung rekursiv finden

Wenn Sie in einem bestimmten Verzeichnis nach bestimmten Dateien mit einer bestimmten Erweiterung suchen möchten, lautet die Syntax wie folgt

$ find directory_name  -name "*.extension"

Um beispielsweise nach allen Konfigurationsdateien (.conf) im Verzeichnis /etc zu suchen, führen Sie

aus
$ find /etc -name "*.conf"

Beispielausgabe

Einschränkende Suchtiefe

Sie können die Tiefe Ihrer Dateisuche in Verzeichnissen einschränken. Wenn Sie beispielsweise Ihre Dateisuche auf die erste Ebene des Verzeichnisses beschränken möchten, lautet die Syntax

$ find directory_name -maxdepth 1 -name "*.conf"

Wenn Sie also die Dateisuche auf das Verzeichnis der ersten Ebene in /etc beschränken möchten für Dateien mit .conf Erweiterung ausführen:

$ find /etc -maxdepth 1 -name "*.conf"

Beispielausgabe

Wie in der obigen Ausgabe zu sehen ist, ist die Dateisuche auf /etc beschränkt Verzeichnisebene. Wenn Sie eine intensivere Suche durchführen und tiefer in andere Verzeichnisse innerhalb der Datei /etc gehen möchten Verzeichnis, erhöhen Sie die MaxTiefe Wert.

Zum Beispiel, um nach Dateien mit .conf zu suchen Erweiterung bis zum 3. Verzeichnislauf

$ find /etc -maxdepth 3 -name "*.conf"

Beispielausgabe

Wie aus der obigen Ausgabe ersichtlich, geht die Suche bis zum 2. und 3. Verzeichnis.

Suchergebnisse umkehren

Sie können auch mit dem Befehl find nach Dateien suchen, die bestimmte Kriterien nicht erfüllen. Dieser Modus ist hilfreich, wenn Sie bekannte Dateien aus dem Suchmuster entfernen möchten.

Verwenden Sie dazu den -not -name Attribut wie gezeigt

$ find /etc -maxdepth 1 -not -name "*.conf"

Beispielausgabe


Die obige Ausgabe druckt alle Dateien, die keine .conf Dateierweiterung.

Suchen mit OR-Operator verwenden

Sie können die Suchergebnisse mit der Suche kombinieren, indem Sie den OR-Operator verwenden, der durch -o symbolisiert wird Flag, das im Beispiel unten gezeigt wird

$ find /etc -maxdepth 3 -name "cron" -o -name "ssh"

Beispielausgabe

Der obige Befehl sucht nach Dateien mit dem Namen ssh ODER cron im

Nur nach Dateien oder Verzeichnissen suchen

Wenn Sie nur nach Dateien suchen möchten, verwenden Sie den - type f -Attribut, wie im Beispiel unten gezeigt

$ find /etc -type f -name "ssh"

Beispielausgabe

Wenn Sie nur nach Verzeichnissen suchen möchten, verwenden Sie den - type d -Attribut, wie im Beispiel unten gezeigt.

$ find /etc -type d -name "ssh"

Beispielausgabe

Nach Dateien suchen, die einem bestimmten Benutzer gehören

Um nach Dateien zu suchen, die einem bestimmten Benutzer in einem bestimmten Verzeichnis gehören, verwenden Sie die Syntax:

$ find /path -user username

Zum Beispiel, um Dateien zu finden, die dem Benutzer James gehören in /home Verzeichnis führen Sie den folgenden Befehl aus

$ find /home -user james

Beispielausgabe

Suche nach Dateien mit bestimmten Dateiberechtigungen

Um nach Dateien mit bestimmten Dateiberechtigungen zu suchen, verwenden Sie die folgende Syntax

$ find /directory_name  -type f -perm value

Zum Beispiel, um nach Dateien mit den Berechtigungen 755 in /etc zu suchen Verzeichnis, führen Sie aus:

$ find /etc -type f -perm 755

Beispielausgabe

Suche nach Dateien mit bestimmten Dateigrößen oder einem Dateibereich

Der Linux-Befehl find bietet Benutzern auch die Möglichkeit, Dateien nach ihrer Dateigröße zu suchen.

Dateien der Größe N suchen

Um beispielsweise nach Dateien zu suchen, die 10 KB groß sind, führen Sie Folgendes aus:

$ find /etc -type f -size 10k

Beispielausgabe

Um Dateien zu suchen, die größer als 10 KB sind, führen Sie

aus
 find /etc -type f -size +10k

Beispielausgabe

Um Dateien mit weniger als 10 KB zu suchen, führen Sie

aus
 find /etc -type f -size -10k

Beispielausgabe

Zusammenfassung

Das war ein kurzer Überblick über die Linux-Beispiele für find-Befehle. Wie bereits gezeigt, ist das Durchsuchen von Dateien und Verzeichnissen auf der Kommandozeile sehr einfach. Zu wissen, wie der Befehl funktioniert, ist ein wichtiges Werkzeug für alle Systemadministratoren.
Probieren Sie die obigen find-Befehlsbeispiele aus und lassen Sie uns wissen, wie es gelaufen ist.


Linux
  1. So finden Sie eine Datei in Linux

  2. Verwenden des Befehls ripgrep (rg) unter Linux

  3. Linux-mv-Befehl

  4. Linux-IP-Befehl

  5. Finden Sie Befehlsbeispiele in Linux

AWK-Befehl unter Linux/Unix

mkdir-Befehl unter Linux/Unix

Linux gegen Unix

Grep-Befehl unter Linux/UNIX

ls-Befehl unter Linux/UNIX

cp-Befehl unter Linux/UNIX