tree
tree - Farbige Anzeige eines Verzeichnisbaums mit Einrückungen
Beschreibung
Rekursive Anzeige von Verzeichnissen
- Dateiliste mit Einrückungen
- Tree ist ein rekursives Programm zur Auflistung von Verzeichnissen
- das eine tief eingerückte Auflistung von Dateien erzeugt
- mit dircolors eingefärbt
- LS_COLORS
- Umgebungsvariable LS_COLORS gesetzt ist und die Ausgabe auf tty erfolgt
- Ohne Argument
- Wenn keine Argumente angegeben werden, listet tree die Dateien im aktuellen Verzeichnis auf
- Verzeichnisargument
- Wenn Verzeichnisargumente angegeben werden, listet tree alle Dateien und/oder Verzeichnisse auf, die sich in den angegebenen Verzeichnissen befinden, jeweils der Reihe nach
- Zusammenfassung
- Wenn die Auflistung aller gefundenen Dateien/Verzeichnisse abgeschlossen ist, gibt tree die Gesamtzahl der aufgelisteten Dateien und/oder Verzeichnisse zurück
- Symbolischer Link
- Wenn ein symbolischer Link gefunden wird, wird standardmäßig der Pfad, auf den der symbolische Link verweist, nach dem Namen des Links in dem Format ausgegeben:
name -> real-path
- Wenn die Option `-l' angegeben wird und der symbolische Link auf ein tatsächliches Verzeichnis verweist, dann wird tree dem Pfad des symbolischen Links folgen, als ob es ein echtes Verzeichnis wäre
- Beispiel
find -printf "%TY-%Tm-%Td %TT %p\n" | sort -n
Tree ist ein rekursives Programm zur Auflistung von Verzeichnissen, das eine tief eingerückte Auflistung von Dateien erzeugt, die ala dircolors eingefärbt ist, wenn die Umgebungsvariable LS_COLORS gesetzt ist und die Ausgabe auf tty erfolgt
- Wenn keine Argumente angegeben werden, listet tree die Dateien im aktuellen Verzeichnis auf
- Wenn Verzeichnisargumente angegeben werden, listet tree alle Dateien und/oder Verzeichnisse auf, die sich in den angegebenen Verzeichnissen befinden, jeweils der Reihe nach
- Wenn die Auflistung aller gefundenen Dateien/Verzeichnisse abgeschlossen ist, gibt tree die Gesamtzahl der aufgelisteten Dateien und/oder Verzeichnisse zurück
Wenn ein symbolischer Link gefunden wird, wird standardmäßig der Pfad, auf den der symbolische Link verweist, nach dem Namen des Links in dem Format ausgegeben:
name -> real-path
Wenn die Option `-l' angegeben wird und der symbolische Link auf ein tatsächliches Verzeichnis verweist, dann wird tree dem Pfad des symbolischen Links folgen, als ob es ein echtes Verzeichnis wäre
Aufruf
tree [Optionen] [Verzeichnis ...]
Anwendung
- tree
Displays the contents of the current directory and subdirectories in a tree. The output takes a graphical form which resembles the following example:
. ├── config.dat ├── data │ ├── data1.bin │ ├── data2.sql │ └── data3.inf ├── images │ ├── background.jpg │ ├── icon.gif │ └── logo.jpg ├── program.exe └── readme.txt 2 directories, 9 files
- tree -I 'example*|bin|lib'
Displays a tree without anything beginning with example or containing 'bin' or 'lib' as specified in the pattern.
- tree -P 't*'
With an uppercase "P," you can list files with a pattern. This pattern example displays a tree only containing directories beginning with t or directories containing files that begin with t.
- tree -p
With a lowercase "p," you can list a tree that also shows the file permissions.
Related commands
ls — List the contents of a directory or directories.
Optionen
- LISTING OPTIONS
| Option | Beschreibung |
|---|---|
| -a | Alle Dateien werden gedruckt
|
| -d | Listet nur Verzeichnisse auf |
| -l | Folgt symbolischen Links, wenn sie auf Verzeichnisse zeigen, als ob sie Verzeichnisse wären
|
| -f | Gibt den vollständigen Pfadpräfix für jede Datei aus |
| -x | Bleibt nur auf dem aktuellen Dateisystem
|
| -L level | Maximale Anzeigetiefe des Verzeichnisbaums |
| -R | Rekursiv den Baum auf jeder Verzeichnisebene nach unten durchqueren (siehe Option -L), und bei jedem dieser Verzeichnisse erneut tree ausführen und `-o 00Tree.html' als neue Option hinzufügen |
| -P pattern | Listet nur die Dateien auf, die dem Platzhaltermuster entsprechen
|
| -I-Muster | Die Dateien, die mit dem Platzhaltermuster übereinstimmen, werden nicht aufgelistet
|
| --gitignore | Verwendet git .gitignore-Dateien zum Filtern von Dateien und Verzeichnissen
|
| --ignore-case | Wenn ein Übereinstimmungsmuster mit der Option -P oder -I angegeben wird, führt dies dazu, dass das Muster ohne Berücksichtigung der Groß- und Kleinschreibung der einzelnen Buchstaben übereinstimmt |
| --matchdirs | Wenn ein Übereinstimmungsmuster mit der Option -P angegeben wird, wird das Muster auf Verzeichnisnamen (zusätzlich zu den Dateinamen) angewandt
|
| --metafirst | Druckt die Metadaten am Anfang der Zeile und nicht nach den Einrückungszeilen |
| --prune | Lässt tree leere Verzeichnisse aus der Ausgabe entfernen, nützlich in Verbindung mit -P oder -I
|
| --info | Druckt Dateikommentare, die in .info-Dateien gefunden wurden
|
| --noreport | Verzichtet auf den Ausdruck des Datei- und Verzeichnisberichts am Ende der Baumliste |
| --charset charset | Legt den Zeichensatz fest, der bei der Ausgabe von HTML und beim Zeichnen von Linien verwendet wird |
| --filelimit # | Verzeichnisse, die mehr als # Einträge enthalten, werden nicht angezeigt |
| --timefmt format | Druckt (impliziert -D) und formatiert das Datum gemäß dem Formatstring, der die strftime(3)-Syntax verwendet |
| -o filename | Ausgabe an filename senden |
- FILE OPTIONS
| Option | Beschreibung |
|---|---|
| -q | Druckt nicht druckbare Zeichen in Dateinamen als Fragezeichen anstelle des Standardwerts |
| -N | Druckt nicht druckbare Zeichen als Ist-Zeichen statt als escapte Oktalzahlen |
| -Q | Die Namen von Dateien in Anführungszeichen setzen |
| -p | Gibt den Dateityp und die Berechtigungen für jede Datei aus (wie bei ls -l) |
| -u | Gibt den Benutzernamen oder die UID # der Datei aus, wenn kein Benutzername vorhanden ist |
| -g | Gibt den Gruppennamen der Datei aus, oder GID # wenn kein Gruppenname verfügbar ist |
| -s | Gibt die Größe jeder Datei in Bytes zusammen mit dem Namen aus |
| -h | Gibt die Größe jeder Datei aus, aber in einer besser lesbaren Form, z. B.
|
| --si | Wie -h, aber stattdessen werden SI-Einheiten (Potenzen von 1000) verwendet |
| --du | Für jedes Verzeichnis wird seine Größe als die Summe der Größen aller Dateien und Unterverzeichnisse (und deren Dateien usw.) angegeben
|
| -D | Gibt das Datum der letzten Änderung aus oder, wenn -c verwendet wird, die Zeit der letzten Statusänderung für die aufgelistete Datei |
| -F | Hängt ein `/' für Verzeichnisse, ein `=' für Socket-Dateien, ein `*' für ausführbare Dateien, ein `>' für Türen (Solaris) und ein `|' für FIFOs an, wie bei ls -F |
| --inodes | Druckt die Inode-Nummer der Datei oder des Verzeichnisses |
| --device | Gibt die Gerätenummer aus, zu der die Datei oder das Verzeichnis gehört |
- SORTING OPTIONS
| Option | Beschreibung |
|---|---|
| -v | Sortiert die Ausgabe nach Version |
| -t | Sortiert die Ausgabe nach der letzten Änderungszeit statt alphabetisch |
| -c | Sortiert die Ausgabe nach der letzten Statusänderung statt alphabetisch
|
| -U | Nicht sortieren
|
| -r | Sortiert die Ausgabe in umgekehrter Reihenfolge
|
| --dirsfirst | Listet Verzeichnisse vor Dateien auf
|
| --filesfirst | Listet Dateien vor Verzeichnissen auf
|
| --sort[=]type | Sortiert die Ausgabe nach dem Typ statt nach dem Namen
|
- GRAPHICS OPTIONS
| Option | Beschreibung |
|---|---|
| -i | sorgt dafür, dass tree die Einrückungslinien nicht ausgibt, was in Verbindung mit der Option -f nützlich ist. Entfernt auch so viel Leerzeichen wie möglich, wenn es mit den Optionen -J oder -x verwendet wird |
| -A | Schaltet die ANSI-Zeilengrafik ein, wenn die Einrückungslinien gedruckt werden |
| -S | Schaltet CP437-Zeilengrafiken ein (nützlich bei der Verwendung von Linux-Konsolenmodus-Schriften). Diese Option ist jetzt äquivalent zu `--charset=IBM437' und wird möglicherweise veraltet sein |
| -n | Schaltet die Einfärbung immer aus, wird von der Option -C überschrieben, überschreibt jedoch CLICOLOR_FORCE, falls vorhanden |
| -C | Schaltet die Einfärbung immer ein und verwendet eingebaute Farbvorgaben, wenn die Umgebungsvariablen LS_COLORS oder TREE_COLORS nicht gesetzt sind. Nützlich, um die Ausgabe in eine Pipe einzufärben |
- XML/JSON/HTML OPTIONS
| Option | Beschreibung |
|---|---|
| -X | Schaltet die XML-Ausgabe ein
|
| -J | Schaltet die JSON-Ausgabe ein
|
| -H baseHREF | Schaltet die HTML-Ausgabe ein, einschließlich HTTP-Referenzen
|
| -T Titel | Setzt den Titel und den H1-Header-String im HTML-Ausgabemodus |
| --nolinks | Schaltet Hyperlinks in der HTML-Ausgabe aus |
- OPTIONS
| Option | Beschreibung |
|---|---|
| --fromfile | Liest eine Verzeichnisliste aus einer Datei und nicht aus dem Dateisystem
|
- MISC OPTIONS
| Option | Beschreibung |
|---|---|
| --help | Gibt eine ausführliche Nutzungsliste aus |
| --version | Gibt die Version von tree aus |
| -- | Terminator der Optionsverarbeitung. Danach werden keine weiteren Optionen verarbeitet |
Argumente
Exit-Status
Installation
sudo apt install tree
Paketinhalt
/usr/bin/tree /usr/share/doc/tree/README.gz /usr/share/doc/tree/TODO /usr/share/doc/tree/changelog.Debian.gz /usr/share/doc/tree/changelog.gz /usr/share/doc/tree/copyright /usr/share/man/man1/tree.1.gz
Konfiguration
Umgebungsvariablen
| Variable | Beschreibung |
|---|---|
| LS_COLORS | Von dircolors erstellte Farbinformationen |
| TREE_COLORS | Verwendet dies für Farbinformationen über LS_COLORS, wenn es gesetzt ist |
| TREE_CHARSET | Zeichensatz für den Baum zur Verwendung im HTML-Modus |
| CLICOLOR | Aktiviert die Einfärbung, auch wenn TREE_COLORS oder LS_COLORS nicht gesetzt ist |
| CLICOLOR_FORCE | Aktiviert immer die Einfärbung (effektiv -C) |
| LC_CTYPE | Gebietsschema für die Ausgabe von Dateinamen |
| LC_TIME | Gebietsschema für die timefmt-Ausgabe, siehe strftime(3) |
| TZ Zeitzone | für die timefmt-Ausgabe, siehe strftime(3) |
| STDDATA_FD | Aktiviert die Funktion stddata, setzt optional den zu verwendenden Deskriptor |
Farbgebung
- Die Farbgebung der Liste folgt den Konventionen des Befehls »dircolors«
- wenn die Umgebungsvariable LS_COLORS gesetzt ist und die Ausgabe auf der Konsole erfolgt
Dateien
| Option | Beschreibung |
|---|---|
| /etc/DIR_COLORS | System color database |
| ~/.dircolors | Users color database |
| .gitignore | Git exclusion file |
| $GIT_DIR/info/exclude | Global git file exclusion list |
| .info | File comment file |
| /usr/share/finfo/global_info | Global file comment file |
Anhang
Siehe auch
Dokumentation
Man-Page
man 1 tree
Info-Pages
info tree