In diesem Tutorial erfahren Sie, wie Sie den Befehl suchen aus unseren Archiven verwenden.

Es versteht sich von selbst, dass jede gute Linux-Desktop-Umgebung die Möglichkeit bietet, Ihr Dateisystem nach Dateien und Ordnern zu durchsuchen. Wenn Ihr Standard-Desktop dies nicht tut — da dies Linux ist-können Sie jederzeit eine App installieren, um die Suche nach Ihrer Verzeichnishierarchie zum Kinderspiel zu machen.

Aber was ist mit der Befehlszeile?, Wenn Sie häufig in der Befehlszeile arbeiten oder GUI-less Linux-Server verwalten, wohin wenden Sie sich, wenn Sie eine Datei suchen müssen? Glücklicherweise hat Linux genau das, was Sie brauchen, um die betreffenden Dateien zu finden, die direkt in das System integriert sind.

Der fragliche Befehl ist find. Um das Verständnis dieses Befehls noch verlockender zu machen, können Sie, sobald Sie es kennen, damit beginnen, es in Ihre Bash-Skripte einzuarbeiten. Das ist nicht nur Bequemlichkeit, das ist Macht.,

Lassen Sie uns mit dem Befehl find auf dem Laufenden bleiben, damit Sie die Kontrolle über das Auffinden von Dateien auf Ihren Linux-Servern und Desktops übernehmen können, ohne dass eine GUI erforderlich ist.

Verwendung des Befehls find

Als ich 1997 Linux zum ersten Mal sah, verstand ich nicht ganz, wie der Befehl find funktionierte; Daher schien es nie so zu funktionieren, wie ich es erwartet hatte. Es schien einfach; Geben Sie den Befehl find FILENAME aus (wobei FILENAME der Name der Datei ist) und der Befehl sollte die Datei suchen und zurückmelden. Ich wusste nicht, dass das Kommando mehr zu bieten hatte. Weitaus.,

Wenn Sie den Befehl man find ausgeben, sehen Sie, dass die Syntax des Befehls find lautet:

find 

Wenn Sie mit der Funktionsweise von man nicht vertraut sind, sind Sie möglicherweise verwirrt oder überwältigt von dieser Syntax. Um das Verständnis zu erleichtern, vereinfachen wir das. Die grundlegendste Syntax eines grundlegenden Suchbefehls würde folgendermaßen aussehen:

find /path option filename

Jetzt sehen wir es bei der Arbeit.

Suche nach name

Let ‚ s break down, basic-Befehl, um es so klar wie möglich., Die einfachste Struktur des Befehls find sollte einen Pfad für die Datei, eine Option und den Dateinamen selbst enthalten. Sie denken vielleicht: „Wenn ich den Pfad zur Datei kenne, weiß ich bereits, wo ich sie finden kann!”. Nun, der Pfad für die Datei könnte das Stammverzeichnis Ihres Laufwerks sein. also / wäre ein legitimer Pfad. Wenn Sie dies als Pfad eingeben, dauert die Verarbeitung viel länger — da sie von vorne beginnen muss—, aber wenn Sie keine Ahnung haben, wo sich die Datei befindet, können Sie von dort aus beginnen. Im Namen der Effizienz ist es immer am besten, zumindest eine Idee zu haben, wo mit der Suche begonnen werden soll.,

Das nächste Bit des Befehls ist die Option. Wie bei den meisten Linux-Befehlen haben Sie eine Reihe verfügbarer Optionen. Wir beginnen jedoch von Anfang an, also machen wir es uns einfach. Da wir versuchen, eine Datei nach Namen zu finden, verwenden wir eine von zwei Optionen:

  • name-Groß-und Kleinschreibung

  • in Groß – und Kleinschreibung

Denken Sie daran, Linux ist sehr speziell für den Fall, wenn Sie also nach einer Datei namens Linux suchen.odt, der folgende Befehl gibt keine Ergebnisse zurück.,

find / -name linux.odt

Wenn Sie den Befehl jedoch mithilfe der Option-iname ändern würden, würde der Befehl find Ihre Datei unabhängig vom Fall lokalisieren. Der neue Befehl sieht also so aus:

find / -iname linux.odt

Find by type

Was ist, wenn Sie sich nicht so sehr mit dem Auffinden einer Datei nach Namen befassen, sondern lieber alle Dateien eines bestimmten Typs suchen möchten?, Einige der gängigeren Dateideskriptoren sind:

  • f – reguläre Datei

  • d – Verzeichnis

  • l – symbolischer Link

  • c – Zeichengeräte

  • b – Blockgeräte

Angenommen, Sie möchten jetzt alle Blockgeräte (eine Datei das bezieht sich auf ein Gerät) auf Ihrem System., Mit Hilfe der Option-type können wir das so machen:

find / -type c

Der obige Befehl würde zu einer ziemlich großen Ausgabe führen (ein Großteil davon zeigt die Berechtigung verweigert an), würde aber eine ähnliche Ausgabe enthalten wie:

/dev/hidraw6/dev/hidraw5/dev/vboxnetctl/dev/vboxdrvu/dev/vboxdrv/dev/dmmidi2/dev/midi2/dev/kvm

Voilà! Blockgerät.

Wir können dieselbe Option verwenden, um nach Konfigurationsdateien zu suchen. Angenommen, Sie möchten beispielsweise alle regulären Dateien suchen, die in der enden .conf-Erweiterung., Dieser Befehl würde ungefähr so aussehen:

find / -type f -name "*.conf"

Der obige Befehl würde die gesamte Verzeichnisstruktur durchlaufen, um alle regulären Dateien zu finden, die auf .conf. Wenn Sie wissen, dass die meisten Ihrer Konfigurationsdateien in /etc untergebracht sind, können Sie Folgendes angeben:

find /etc -type f -name "*.conf”

Der obige Befehl listet alle Ihre auf .conf-Dateien aus /etc (Abbildung 1).

Abbildung 1: Alle Konfigurationsdateien in /etc lokalisieren.,

Ergebnisse in eine Datei ausgeben

Ein wirklich praktischer Trick besteht darin, die Ergebnisse der Suche in eine Datei auszugeben. Wenn Sie wissen, dass die Ausgabe umfangreich sein könnte oder wenn Sie die Ergebnisse später durchkämmen möchten, kann dies unglaublich hilfreich sein. Dazu verwenden wir dasselbe Beispiel wie oben und leiten die Ergebnisse in eine Datei namens conf_search. Dieser neue Befehl würde wie folgt aussehen:

find /etc -type f -name "*.conf” > conf_search

Sie haben jetzt eine Datei (conf_search), die alle Ergebnisse des ausgegebenen Befehls find enthält.,

Dateien nach Größe finden

Jetzt kommen wir zu einem Moment, in dem der Befehl find unglaublich hilfreich wird. Ich hatte Fälle, in denen Desktops oder Server ihre Laufwerke auf mysteriöse Weise gefüllt gefunden haben. Um schnell Speicherplatz zu schaffen (oder das Problem zu lokalisieren), können Sie den Befehl Suchen verwenden, um Dateien einer bestimmten Größe zu finden. Angenommen, Sie möchten beispielsweise groß werden und Dateien suchen, die über 1000 MB groß sind. Der Befehl find kann mit Hilfe der Option-size wie folgt ausgegeben werden:

find / -size +1000MB

Sie könnten überrascht sein, wie viele Dateien angezeigt werden., Mit der Ausgabe des Befehls können Sie die Verzeichnisstruktur durchkämmen und Speicherplatz freigeben oder Fehler beheben, um herauszufinden, was Ihr Laufwerk auf mysteriöse Weise füllt.

Sie können mit den folgenden Größenbeschreibungen suchen:

  • c – bytes

  • k – Kilobyte

  • M – Megabyte

  • G – Gigabyte

  • b – 512-Byte-Blöcke

Lernen Sie weiter

Wir haben nur die Oberfläche des Befehls find zerkratzt, aber Sie haben jetzt ein grundlegendes Verständnis dafür, wie Sie Dateien auf Ihren Linux-Systemen finden., Stellen Sie sicher, dass Sie den Befehl man find ausgeben, um ein tieferes, vollständigeres Wissen darüber zu erhalten, wie Sie dieses leistungsstarke Tool für Sie zum Laufen bringen können.

Erfahren Sie mehr über Linux durch die kostenlose „Einführung in Linux“ Kurs von der Linux Foundation und edX.