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