tree - Listet Verzeichnisinhalte als Baum
Beschreibung
- Farbige Anzeige eines Verzeichnisbaums mit Einrückungen
- Rekursive Anzeige von Verzeichnissen
- erzeugt eine Dateiliste mit Einrückungen
- 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.
Beschreibung
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.
- 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.
- tmp
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.
Installation
# apt install tree
Syntax
$ tree [Optionen] [Verzeichnis ...]
Optionen
LISTING OPTIONS
Option |
Beschreibung
|
-a |
Alle Dateien werden gedruckt.
- Standardmäßig druckt tree keine versteckten Dateien (die mit einem Punkt `.' beginnen).
- In keinem Fall druckt tree die Dateisystemkonstrukte `.' (aktuelles Verzeichnis) und `..' (vorheriges Verzeichnis).
|
-d |
Listet nur Verzeichnisse auf.
|
-l |
Folgt symbolischen Links, wenn sie auf Verzeichnisse zeigen, als ob sie Verzeichnisse wären.
- Symbolische Links, die zu einer Rekursion führen, werden vermieden, wenn sie erkannt werden.
|
-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.
- Sie können mehrere -P Optionen haben.
- Hinweis: Sie müssen die Option -a verwenden, um auch die Dateien zu berücksichtigen, die mit einem Punkt `.' beginnen.
- Gültige Platzhalter sind `*' (null oder mehr Zeichen), `**` (null oder mehr Zeichen sowie Null /'s, d.h. /**/ kann mit einem einzelnen / übereinstimmen), `?' (ein einzelnes Zeichen), `[...]' (ein einzelnes Zeichen zwischen eckigen Klammern (optional kann ein - (Bindestrich) für einen Zeichenbereich verwendet werden: z. B. [A-Z]), und `[^...]' (ein einzelnes Zeichen, das nicht in eckigen Klammern steht) und `|' trennt alternative Muster.
- Ein '/' am Ende des Musters passt auf Verzeichnisse, aber nicht auf Dateien.
|
-I-Muster |
Die Dateien, die mit dem Platzhaltermuster übereinstimmen, werden nicht aufgelistet.
- Sie können mehrere -I Optionen haben.
- Siehe -P oben für Informationen zu Platzhaltermustern.
|
--gitignore |
Verwendet git .gitignore-Dateien zum Filtern von Dateien und Verzeichnissen.
- Verwendet auch $GIT_DIR/info/exclude, falls vorhanden.
|
--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.
- Im Falle einer Übereinstimmung mit dem Verzeichnisnamen wird der Abgleich für den Inhalt des Verzeichnisses deaktiviert.
- Wenn die Option --prune verwendet wird, werden leere Ordner, die mit dem Muster übereinstimmen, nicht ausgegrenzt.
|
--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.
- Siehe BUGS UND HINWEISE unten für weitere Informationen zu dieser Option.
|
--info |
Druckt Dateikommentare, die in .info-Dateien gefunden wurden.
- Weitere Informationen über das Format von .info-Dateien finden Sie unter .INFO-DATEIEN weiter unten.
|
--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.
- Anhängen eines Größenbuchstabens für Kilobytes (K), Megabytes (M), Gigabytes (G), Terabytes (T), Petabytes (P) und Exabytes (E).
|
--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.
- Diese Option erfordert, dass tree den gesamten Verzeichnisbaum liest, bevor er ihn ausgibt, siehe BUGS UND HINWEISE unten.
- Impliziert -s.
|
-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.
- Ändert die Option -D (falls verwendet), um die letzte Statusänderung anstelle der Änderungszeit zu drucken.
|
-U |
Nicht sortieren.
- Listet die Dateien in Verzeichnisreihenfolge auf.
- Deaktiviert --dirsfirst.
|
-r |
Sortiert die Ausgabe in umgekehrter Reihenfolge.
- Dies ist eine Metasortierung, die die obigen Sortierungen verändert.
- Diese Option ist deaktiviert, wenn -U verwendet wird.
|
--dirsfirst |
Listet Verzeichnisse vor Dateien auf.
- Dies ist eine Metasortierung, die die obigen Sortierungen ändert.
- Diese Option ist deaktiviert, wenn -U verwendet wird.
|
--filesfirst |
Listet Dateien vor Verzeichnissen auf.
- Dies ist eine Meta-Sortierung, die die obigen Sortierungen ändert.
- Diese Option ist deaktiviert, wenn -U verwendet wird.
|
--sort[=]type |
Sortiert die Ausgabe nach dem Typ statt nach dem Namen.
- Mögliche Werte sind: ctime (-c), mtime (-t), size, oder version (-v).
|
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.
- Gibt den Verzeichnisbaum als XML-formatierte Datei aus.
|
-J |
Schaltet die JSON-Ausgabe ein.
- Gibt den Verzeichnisbaum als JSON-formatiertes Array aus.
|
-H baseHREF |
Schaltet die HTML-Ausgabe ein, einschließlich HTTP-Referenzen.
- Nützlich für ftp-Seiten.
- baseHREF gibt den FTP-Basisort an, wenn HTML-Ausgabe verwendet wird.
- Das heißt, das lokale Verzeichnis kann `/local/ftp/pub' sein, aber es muss als ftp://hostname.organization.domain/pub' referenziert werden (baseHREF sollte `ftp://hostname.organization.domain' sein).
- Tipp: Verwenden Sie keine ANSI-Zeilen mit dieser Option, und geben Sie nicht mehr als ein Verzeichnis in der Verzeichnisliste an.
- Wenn Sie Farben per CSS-Stylesheet verwenden möchten, verwenden Sie die Option -C zusätzlich zu dieser Option, um die Farbausgabe zu erzwingen.
|
-T Titel |
Setzt den Titel und den H1-Header-String im HTML-Ausgabemodus.
|
--nolinks |
Schaltet Hyperlinks in der HTML-Ausgabe aus.
|
INPUT OPTIONS
Option |
Beschreibung
|
--fromfile |
Liest eine Verzeichnisliste aus einer Datei und nicht aus dem Dateisystem.
- Die in der Befehlszeile angegebenen Pfade auf der Befehlszeile angegebenen Pfade sind Dateien, aus denen gelesen wird, und keine Verzeichnisse, die durchsucht werden.
- Der Punkt (.) directory zeigt an, dass tree die Pfade von der Standardeingabe lesen soll.
- HINWEIS: dies ist nur geeignet für das Lesen der Ausgabe eines Programms wie find, nicht für 'tree -fi', da Symlinks (zumindest noch nicht von Dateien unterschieden werden können, die einfach ' -> ' als Teil des Dateinamens enthalten.
|
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.
|
Parameter
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.
|
Exit-Status
Anwendung
Konfiguration
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-Pages
man 1 tree
Info-Pages
info tree
Links
Projekt
Weblinks