tree - Verzeichnisinhalt als Baum auflisten
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