tree

Aus Foxwiki

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.
  • Ala find -xdev.
-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