Wie verwende ich den find-Befehl in Linux, um Dateien zu durchsuchen?

How Use Find Command Linux Search Files

Wenn Sie ein Linux-Benutzer sind, können Sie sich nicht nur auf die GUI verlassen, um verschiedene Aufgaben auszuführen, daher ist ein solides Verständnis der Terminalbefehle wirklich wichtig. Alle auf Linux basierenden Distributionen führen die Befehle aus, um verschiedene Verwaltungsaufgaben auszuführen.

Obwohl das Linux-Terminal eine komplex erscheinende Textoberfläche ist, ist es tatsächlich sehr flexibel, einfach zu bedienen und ein ziemlich nützliches Werkzeug. Befehle können einfach aus Online-Quellen kopiert und in das Terminal eingefügt werden, um verschiedene Operationen auszuführen. Es gibt Unmengen von Befehlen, aber dieser Beitrag konzentriert sich auf den Befehl find.



Der Befehl find wird verwendet, um Dateien und Ordner in Ihrem System gemäß benutzerdefinierten Bedingungen zu finden, zu filtern oder zu durchsuchen und verschiedene Operationen mit ihnen auszuführen.



Lassen Sie uns die Verwendung des find-Befehls, seine Syntax und verschiedene Operationen, die von diesem Befehl ausgeführt werden, im Detail besprechen.



Syntax des find-Befehls in Linux

Die Syntax des Find-Befehls ist unten dargestellt:

finden [Weg] [Optionen] [Ausdruck]

Drei Attribute gehören zum find-Befehl:

  • [Pfad]: Definiert das Verzeichnis, in dem mit der Suche begonnen werden soll.
  • [Optionen]: Definiert die Filterkriterien, z.B. Durchsuchen einer Datei/eines Ordners nach Name, Berechtigung, Uhrzeit oder Datum.
  • [Ausdruck]: Es definiert, welche Aktionen mit der Datei ausgeführt werden sollen.

Alle oben genannten Attribute sind optional, da sie je nach Anforderung verwendet werden können.



Zur Demonstration habe ich verschiedene Verzeichnisse und einige Textdateien erstellt, siehe das Bild unten:

find/1%20copy.png

Suchen einer Datei anhand des Namens

Um die Datei nach Namen zu durchsuchen, verwenden Sie den unten angegebenen Befehl:

$finden.-NameMyTextFile1.txt

find/2%20copy.png

Der Punkt nach find im obigen Befehl gibt das aktuelle Verzeichnis an.

Wenn Sie sich nicht an den genauen Dateinamen erinnern, kann die Suche weiter verfeinert und die Groß-/Kleinschreibung nicht beachtet werden, indem Sie das -iname anstelle des Namens verwenden:

$finden.-inamemytextfile1.txt

find/3%20copy.png

Suchen einer Datei nach Typ

Um eine Datei anhand ihres Typs zu finden, verwenden Sie die Option -type mit Buchstaben, die auch als Deskriptoren bezeichnet werden, wie z. B. f für Dateien, d für Verzeichnisse, l für den symbolischen Link und s für Sockets.

Um alle Verzeichnisse zu durchsuchen, verwenden Sie:

$finden.-TypD

find/4%20copy.png

Um nach Dateien zu suchen, verwenden Sie:

$finden.-TypF

c%20copy.png

Suchen einer Datei anhand der Dateierweiterung

Um die Datei nach Muster zu durchsuchen, z. B. Dateierweiterung, wie zum Beispiel alle Dateien mit .txt anzuzeigen, verwenden Sie den folgenden Befehl:

$finden.-Name *.TXT

find/5%20copy.png

Alle Dateien mit .txt werden zusammen mit ihren entsprechenden Verzeichnissen angezeigt.

Suchen und Löschen einer Datei

Um eine Datei zu suchen und zu löschen, verwenden Sie den folgenden Befehl:

$finden.-inamemytextfile1.txt-exec rm {};

find/6%20copy.png

Der obige Befehl durchsucht zuerst die Datei und löscht sie dann. Das Bild zeigt, dass MyTextFile1 gelöscht wurde.

Um alle Dateien mit der Erweiterung .txt zu löschen, können Sie den angehängten Befehl verwenden:

$finden.-Name *.TXT-löschen

find/7%20copy.png

Suchen einer Datei nach Größe

Der Befehl find kann eine Datei auch nach Größe durchsuchen. Verwenden Sie einfach die Option -size zusammen mit ihren Deskriptoren wie b für 512-KB-Blöcke, c für Byte, k für Kilobyte, M und G für Megabyte bzw. Gigabyte:

$finden.-TypF-Größe -1024c

find/8%20copy.png

Der oben erwähnte Befehl durchsucht alle Dateien mit einer Größe von weniger als 1024 Byte. Die Suche kann weiter verfeinert werden, wenn wir zum Beispiel alle Dateien finden möchten, die kleiner als 1 MB sind, verwenden wir den folgenden Befehl:

$finden.-TypF-Größe1M

ab/a%20copy.png

Verwenden Sie für alle Dateien, die größer als 1 MB sind, den folgenden Befehl:

$finden.-TypF-Größe+1 Mio.

ab/b%20copy.png

Mit dem angehängten Befehl kann auch ein Größenbereich definiert werden:

$finden. -TypF-Größe+1 Mio.-Größe10M

Dateien nach Berechtigung suchen

Um eine Datei nach Berechtigung zu durchsuchen, verwenden wir die Option -perm und dann den Berechtigungscode, wie unten gezeigt:

$finden.-Dauerwelle 664

find/10%20copy.png

Suchen Sie einen Text in Textdateien

Um Text in mehreren Textdateien in Ihrem System zu finden, verwenden Sie den folgenden Befehl:

$finden.-TypF-Name *.TXT-exec Griff'Hallo'{};

find/12%20copy.png

Der Befehl sucht in den Textdateien nach dem Wort 'Hallo'. Die Ausgabe sind Textzeichenfolgen aus den Textdateien, die Hello enthalten.

Suchen einer Datei nach Änderungsdatum und -zeit

Um auf eine Datei mit ihrer letzten Änderung zuzugreifen, verwenden Sie den folgenden Befehl:

$finden.-TypF-iname *.TXT-mmin+10

find/13%20copy.png

Der obige Befehl sucht nach einer Datei, die zuletzt vor vier Minuten geändert wurde, und m steht für die Änderung.

$finden. -TypF-iname *.TXT-amin -10

find/14%20copy.png

Der obige Befehl sucht nach einer Datei, auf die zuletzt vor 4 Minuten zugegriffen wurde, und das a in amin bedeutet Zugriff. Um auf eine Datei zuzugreifen, die vor vier Tagen geändert wurde, verwenden Sie -mtime +4 anstelle von mmin +4.

Abschluss

Der Befehl find in Linux ist ein sehr nützlicher Befehl, mit dem Sie eine Datei oder ein Verzeichnis nach verschiedenen Kriterien durchsuchen und sogar die Dateien vom Terminal aus ändern können. In diesem Handbuch haben wir uns die Syntax des find-Befehls unter Linux angesehen und gelernt, wie man den find-Befehl verwendet, um verschiedene Funktionen auszuführen.