Wie man den Befehl 'tree' verwendet, um im Dateiverzeichnis von Linux zu navigieren

Index
  1. Installation und Grundsyntax
  2. Steuerung der Verzeichnistiefe
  3. Einbeziehung versteckter Dateien und Ordner
  4. Anzeigen von Dateien nach Muster
  5. Dateigrößen in menschlich lesbare Formate anzeigen
  6. tree mit anderen Befehlen kombinieren
  7. tree-Ausgabe speichern oder exportieren
  8. Abschließende Gedanken

Der `tree`-Befehl visualisiert die Verzeichnisstruktur unter Linux in einer übersichtlichen Baumansicht, ermöglicht benutzerdefinierte Anpassungen und unterstützt erweiterte Optionen zur Dateiauswahl und Ausgabeformatierung.

Der tree-Befehl ist perfekt, um Ihre gesamte Verzeichnisstruktur auf einen Blick anzuzeigen. Er zeigt Ordner und Dateien in einem klaren, baumartigen Layout direkt im Terminal an. Sie können steuern, wie tief er geht, versteckte Dateien einbeziehen und sogar die Ausgabe in einer Datei speichern. In diesem Beitrag werden wir tief in die Nutzung des tree-Befehls eintauchen.

Hinweis: Verwechseln Sie den tree-Befehl nicht mit pstree. Der tree-Befehl befasst sich mit Verzeichnissen, während pstree die laufenden Prozesse auflistet.

Installation und Grundsyntax

Tree ist nicht standardmäßig auf jeder Linux-Distribution installiert, lässt sich jedoch schnell hinzufügen. Sie müssen nur den Paketmanager Ihrer Distribution verwenden. Zum Beispiel bei Debian/Ubuntu, verwenden Sie:

sudo apt install tree

Für Fedora-, CentOS- oder RHEL-Systeme sollten Sie Folgendes verwenden:

sudo dnf install tree

Arch Linux-Nutzer können Folgendes verwenden:

sudo pacman -S tree

Sobald es installiert ist, ist die einfachste Verwendung:

tree

Dies zeigt den Baum des aktuellen Verzeichnisses an und zeigt Dateien und Verzeichnisse mit Verbindungslinien und einer abschließenden Zusammenfassung an, wie die Anzahl der Verzeichnisse und Dateien. Standardmäßig wird alles rekursiv aufgelistet, was Dateien und Verzeichnisse in einer hierarchischen Ansicht darstellt.

Darüber hinaus können Sie spezielle Optionen verwenden, die ändern, wie der Baum seine Ausgabe anzeigt, z.B. um die Tiefe zu steuern, Dateigrößen anzuzeigen usw. Sie können auch den Pfad des Verzeichnisses angeben, das Sie kartieren möchten.

tree [options] [directory]

Standardmäßig farbcodiert der Baum seine Ausgabe, um das Lesen zu erleichtern. Blau (oder fett) steht für Verzeichnisse, grün für ausführbare Dateien (wie Skripte oder Programme) und weiß/standardmäßig für reguläre Dateien usw.

Sie können auch überprüfen, was sich in einem bestimmten Verzeichnis befindet. Wenn Sie zum Beispiel in Ihrem Home-Verzeichnis sind und Ihren Dokumente-Ordner sehen möchten, geben Sie einfach Folgendes ein:

tree ~/Documents

Die Ausgabe wird auf Ihrem Bildschirm nach unten fließen und Ihnen die vollständige Hierarchie zeigen.

Steuerung der Verzeichnistiefe

Manchmal möchten Sie nicht den vollständigen unbegrenzten Abstieg in Unterordner. Vielleicht interessiert Sie nur die obersten zwei Ebenen, oder Sie benötigen nur eine klare Übersicht, anstatt zu viel Tiefe. Um eine bestimmte Ebene anzuzeigen, können Sie die -L-Option (Ebene) des tree-Befehls verwenden. Zum Beispiel, um nur zwei Ebenen anzuzeigen, können Sie Folgendes verwenden:

tree -L 2

Sie können es auch mit anderen Optionen kombinieren, um mehr Power zu erhalten. Beispielsweise können Sie -L mit der -d-Option kombinieren, um nur Verzeichnisse anzuzeigen und Dateien zu ignorieren, jedoch bis zur dritten Ebene:

tree -d -L 3

Ohne Einschränkungen kann er unbegrenzt weitergehen, was für kleine Setups in Ordnung ist, aber für große Verzeichnisse überwältigend sein kann.

Einbeziehung versteckter Dateien und Ordner

In der Linux-Welt wird jede Datei oder jedes Verzeichnis, das mit einem Punkt (.) beginnt, als verborgen betrachtet. Diese sind normalerweise nicht für den täglichen Gebrauch gedacht. Oft handelt es sich um Konfigurationsdateien oder Metadatenordner, wie z.B. „.bashrc“, „.profile“ oder das gängige Verzeichnis „.git“ in Git-Repositorys. Der tree-Befehl blendet standardmäßig diese versteckten Dateien und Ordner aus.

Sie können sie jedoch mit der -a-Option einbeziehen:

tree -a

Jetzt erhalten Sie jedes Verzeichnis, einschließlich aller wichtigen versteckten Konfigurationsdateien. Wenn Sie versteckte Dateien plus Tiefensteuerung wünschen, verwenden Sie Folgendes:

tree -a -L 2

Anzeigen von Dateien nach Muster

Manchmal möchten Sie nicht alles sehen; Sie sind auf der Suche nach etwas Bestimmtem. Vielleicht interessieren Sie sich nur für Python-Dateien, oder Sie suchen nach all Ihren Markdown-Dokumenten. Die -P-Option ermöglicht es Ihnen, ein Muster zur Übereinstimmung anzugeben.

Wenn Sie beispielsweise nur Python-Dateien sehen möchten, führen Sie Folgendes aus:

tree -P "*.py"

Wenn Sie alle Ihre Textdateien suchen, verwenden Sie:

tree -P "*.txt"

Sie können auch Platzhalter verwenden und kreativ mit Ihren Mustern umgehen. Angenommen, Sie möchten alle Dateien finden, die mit config beginnen; das erreichen Sie mithilfe von:

tree -P "config*"

Beim Einsatz von -P zeigt der Befehl tree weiterhin die Verzeichnisstruktur an, jedoch nur die Dateien, die Ihrem Muster entsprechen. Leere Verzeichnisse, in denen keine passenden Dateien vorhanden sind, werden trotzdem im Ausgabefenster angezeigt. Wenn Sie das als unübersichtlich empfinden, können Sie die Option --prune verwenden:

tree -P "*.py" --prune

Damit werden alle leeren Verzeichnisse aus der Ausgabe entfernt, wodurch Sie eine übersichtlichere Ansicht erhalten, die nur die Pfade zu Ihren Ziel-Dateien zeigt. Noch etwas: Wenn Sie Namen ausschließen möchten, die einem Muster entsprechen, verwenden Sie -I anstelle von -P.

Dateigrößen in menschlich lesbare Formate anzeigen

Um ehrlich zu sein, hilft es mir nicht besonders, Dateigrößen in Bytes zu sehen. Wenn eine Datei 524288 Bytes hat, muss ich anhalten und im Kopf rechnen, dass das etwa 512 KB sind. Glücklicherweise löst die Option -h dieses Problem elegant. Sie zeigt die Dateigrößen in einem für Menschen lesbaren Format an, so wie wir tatsächlich über Dateigrößen nachdenken. Zum Beispiel:

tree -h

Jetzt sehen Sie statt 524288 einfach 512K. Eine Datei, die 1048576 Bytes hat, wird zu 1.0M. Das ist nützlich, wenn Sie schnell herausfinden möchten, wo Ihr gesamter Speicherplatz geblieben ist. Sie können schnell durch den Baum scannen und verdächtig große Dateien entdecken.

Hier ist eine weitere Kombination, die ich häufig benutze:

tree -hL 2

Dies zeigt mir zwei Ebenen tief mit menschlich lesbaren Dateigrößen.

tree mit anderen Befehlen kombinieren

In Linux liegt die wahre Power nicht in einem einzelnen Befehl, sondern in der Kombination der Befehle. Der Befehl tree gibt nur Text aus. Wir können ihn an andere Befehle weiterleiten und verschiedene Operationen darauf durchführen. Das Pipe-Zeichen (|) nimmt die Ausgabe vom linken Befehl und sendet sie als Eingabe an den rechten Befehl.

Angenommen, Sie möchten tree in einem großen Verzeichnis ausführen, aber möchten nicht, dass es in 30 Sekunden durch Ihren Bildschirm fliegt. Sie möchten es durchscrollen, durchsuchen und in Ihrem eigenen Tempo lesen können. Dies erreichen Sie durch die Kombination von tree mit dem Befehl less:

tree /usr/lib | less

Führen Sie dies aus, und Ihr Bildschirm bleibt auf der ersten Seite der tree-Ausgabe stehen.

Nun können Sie die Pfeiltasten (Auf/Ab), die Leertaste verwenden, um eine ganze Seite nach unten zu scrollen, / gefolgt von einem Wort, um den gesamten Baum nach diesem Wort zu durchsuchen, und q, um zu beenden und zu Ihrem Prompt zurückzukehren.

Außerdem ist das -P-Flag großartig für einfache Muster, aber was ist, wenn Sie mehr möchten? Was ist, wenn Sie jede Datei oder jedes Verzeichnis finden möchten, das das Wort admin enthält, ohne Berücksichtigung von Groß- und Kleinschreibung? Das ist ein Job für grep, probieren Sie diese Kombination mit tree:

tree -a | grep -i "admin"

Sie können auch jede Zeile im Baum finden, die config enthält, indem Sie den wc-Befehl mit tree wie folgt kombinieren:

tree -a | wc -l

Dies gibt Ihnen eine ungefähre Zeilenanzahl.

tree-Ausgabe speichern oder exportieren

Manchmal müssen Sie die Baumstruktur für später speichern. Vielleicht dokumentieren Sie ein Projekt, erstellen einen Bericht oder möchten einfach einen Schnappschuss Ihrer Verzeichnisstruktur vor Änderungen halten. Die einfachste Art, dies zu tun, ist die Umleitung wie folgt:

tree > directory_structure.txt

Dies speichert die gesamte tree-Ausgabe in einer Textdatei. Einfach, effektiv, und Sie können sie in jedem Texteditor öffnen.

Sie können auch eine HTML-Seite mit klickbaren Links und einklappbaren Abschnitten erstellen, indem Sie das eingebaute -H verwenden.

Option:

tree -H . > structure.html

Öffnen Sie es in einem Browser, und Sie haben eine interaktive Ansicht Ihrer Verzeichnisstruktur.

Für Dokumentationszwecke können Sie die Ausgabe auch mit spezifischem Format speichern:

tree -L 3 -a --dirsfirst > project_docs.txt

Die --dirsfirst Option listet Verzeichnisse vor Dateien auf und macht die Ausgabe noch organisierter. Das ist perfekt für README-Dateien oder Projektdokumentation.

Schließlich können Sie auch bestehende Dateien anhängen, wenn Sie ein größeres Dokument erstellen:

tree -L 2 >> documentation.txt

Dies fügt die Baum-Ausgabe an das Ende Ihrer bestehenden Dokumentationsdatei hinzu, ohne die bereits vorhandenen Inhalte zu überschreiben.

Abschließende Gedanken

Dies ist die grundlegende Verwendung des tree-Befehls. Er bietet viele weitere Optionen, die Sie erkunden können. Um mehr zu erfahren, geben Sie info tree im Terminal ein oder überprüfen Sie das Handbuch online. Drücken Sie q, um zu beenden, wenn Sie fertig sind. Sie können auch andere nützliche Befehle wie ls, find und du erkunden, um Ihre Dateien auf unterschiedliche Weise zu verwalten und anzuzeigen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up