Ist unter Linux nur Verzeichnisse rekursiv auflisten?

Is List Only Directories Recursively Linux



Das Wort rekursiv bezieht sich auf die Tatsache, dass die Befehle eines Linux- oder Unix-Betriebssystems mit dem Inhalt von Ordnern umgehen, und wenn ein Ordner Unterordner und Dokumente hat, funktioniert die Anweisung immer noch mit all diesen Dokumenten (rekursiv). Es kann möglich sein, dass das untergeordnete Verzeichnis über einen eigenen Satz von Dateien und Ordnern (z. B. große Ordner) usw. verfügt. Sie verwenden verschiedene Linux-Anweisungen, um jeden Ordner rekursiv zu durchsuchen, bevor Sie ihn an den Rand des angegebenen Ordners bringen. Auf dieser Ebene kehren Linux-Anweisungen zu einer Abzweigung des Baums zurück und wiederholen den Vorgang für alle vorhandenen Unterordner. In diesem Tutorial lernen Sie alle Methoden kennen, um die Verzeichnisse rekursiv aufzulisten.

Beispiele für einfache Listenverzeichnisse

Zunächst müssen Sie wissen, wie Sie mit dem einfachen Listenbefehl alle Verzeichnisse Ihres Linux-Systems auflisten. Öffnen Sie das Befehlszeilenterminal und versuchen Sie den folgenden ls-Befehl, um nur die Verzeichnisse aufzulisten. Es listet nicht nur die Verzeichnisse auf, sondern auch die Gesamtzahl der Unterordner und Dateien, die sich darin befinden. Die Ausgabe zeigt die Ordner mit den Informationen zu Besitzer, Gruppe, Lese-/Schreibberechtigung und Erstellungsdatum der Ordner.







$ ls -l



Um alle Verzeichnisse und Dateien innerhalb Ihres Linux-Systems aufzulisten, müssen Sie im list-Befehl -la anstelle des einfachen -l verwenden. Führen Sie dazu den aktualisierten Befehl aus. Die Ausgabe zeigt alle Dateien und Ordner zusammen mit ihren zusätzlichen Informationen.



$ ls -la





Um die Verzeichnisse einfach ohne zusätzliche Informationen aufzulisten, versuchen Sie den folgenden Befehl gefolgt von dem Flag -d.

$ ls –d * /



Sie können den gleichen Befehl auch mit geringfügigen Änderungen verwenden, um die Ordner zusammen mit ihren zusätzlichen Informationen aufzulisten. Sie müssen nur das Flag -l in diesem Befehl wie folgt hinzufügen:

$ ls –l –d * /

Um nur die Gesamtzahl der Dateien im jeweiligen Home-Verzeichnis zu überprüfen, versuchen Sie den unten aufgeführten Befehl in der Shell. Sie erhalten die Gesamtzahl der Dateien in Ihrem Linux-Betriebssystem.

$ ls –l | egrep –v ‘^ d’

Beispiel für die rekursive Auflistung von Verzeichnissen

In Linux-Systemen stehen verschiedene Arten von rekursiven Befehlen zur Verfügung, mit denen die Verzeichnisse rekursiv aufgelistet werden können. Um jeden von ihnen separat zu verstehen, nehmen Sie an, dass Sie 5 Dateien in Ihrem Linux-Verzeichnis namens Documents haben.

Rekursive Liste mit -lR Flag

Die erste Methode ist, das Flag -lR in Ihrer Abfrage zu verwenden, um alle Verzeichnisse Ihres Linux-Systems rekursiv aufzulisten. Bei der Ausführung des folgenden Listenbefehls werden alle Ordner und ihre Unterordner zusammen mit ihren Bonusdetails aufgelistet, wie in der Ausgabe gezeigt.

$ ls -lR

Lassen Sie uns einfach alle Dateien oder Ordner aus einem bestimmten Ordner oder Verzeichnis Ihres Linux-Systems rekursiv auflisten. Fügen Sie dazu den Standortpfad des jeweiligen Verzeichnisses hinzu, um es rekursiv aufzulisten. Wir möchten alle Dateien und Ordner des Verzeichnisses Dokumente, die sich im Home-Verzeichnis befinden, mit dem unten aktualisierten Befehl rekursiv auflisten. Die Ausgabe zeigt alle Dateien und Ordner im Ordner Dokumente zusammen mit den zusätzlichen Informationen an.

$ ls –lR / home / aqsayasin / Dokumente /

Rekursives Auflisten mit dem Find-Befehl

Machen Sie sich klar, dass nicht alle Linux-Systeme, z. B. macOS, Unix-ähnliche OS, die Wahl haben, die Verzeichnisse mit -R aufzulisten. In diesem Fall stehen andere Befehle zur Verfügung, um unsere Anforderungen zu erfüllen, nämlich die Befehle find und print. In diesem Befehl geben wir einen Pfad zu einem Ordner zusammen mit der Verwendung des Befehls -ls an. Wenn im Befehl -ls verwendet wird, bedeutet dies, dass auch die zusätzlichen Informationen zu den Dateien und Ordnern eines bestimmten Verzeichnisses angezeigt werden. Versuchen Sie den unten angegebenen Befehl in der Shell, um alle Dateien und Ordner des Verzeichnisses Documents rekursiv aufzulisten.

$ find /home/aqsayasin/Documents/ -print -ls

Jetzt müssen Sie die gleiche Anweisung in der Shell mit einer kleinen Änderung ausprobieren. Wir vermeiden die Verwendung des Flags -ls in diesem Befehl, um die Anzeige zusätzlicher Informationen zu Dateien zu stoppen. Führen Sie die unten aufgeführte Abfrage in der Shell aus, und Sie erhalten die angezeigte Ausgabe.

$ find /home/aqsayasin/Documents/ -print

Rekursive Liste mit dem Befehl -du

Schauen wir uns ein weiteres Beispiel an, um die Dateien oder Verzeichnisse mit einer anderen neuen Methode rekursiv aufzulisten. Dieses Mal verwenden wir den Befehl -du, um unseren Zweck zu erfüllen. Dieser Befehl enthält das Flag -a. Zusammen mit den Flags müssen wir auch den Verzeichnisspeicherort angeben. Lassen Sie uns die folgende Anweisung in der Terminal-Shell ausführen, um alle Ordner oder Dateien des Verzeichnisses Dokumente rekursiv aufzulisten. Die Ausgabe zeigt die 5 Datensätze dafür, wie unten gezeigt. Sie können sehen, dass dieser Befehl auch die Anzahl der Bits anzeigt, die sich in jeder Datei befinden.

$ du –a / home / aqsayasin / Dokumente /

Rekursiv auflisten mit dem Befehl tree

Zu guter Letzt haben wir eine sehr einfache und benutzerfreundliche Baumbefehlsmethode, um die Dateien oder Ordner rekursiv aufzulisten. Wir werden in diesem Befehl bisher kein Flag verwenden. Sie müssen den Speicherort des Verzeichnisses zusammen mit dem Schlüsselwortbaum angeben. Lassen Sie uns ein Beispiel dafür verwenden, indem Sie den unten aufgeführten Befehl verwenden. Die Ausgabe zeigt die baumverzweigte Ausgabe des Verzeichnisses Dokumente. Es zeigt 0 Verzeichnisse und 5 Dateien in der Ausgabe an.

$ Baum /home/aqsayasin/Dokumente/

Versuchen wir den gleichen Baumbefehl an einem anderen Ort. Diesmal listen wir rekursiv die Ordner des ‚Home‘-Verzeichnisses des Benutzers aqsayasin auf. Die Ausgabe zeigt die Zweige des Ordners Home mit insgesamt 14 verschiedenen Ordnern, Unterordnern und 5 Dateien.

$ Baum /home/aqsayasin/

Abschluss

Wir haben alle rekursiven Methoden ausprobiert, um die Verzeichnisse und Dateien rekursiv aufzulisten, z. B. -lR Flag, find and print, du und tree command