tree

Aus Foxwiki


tree listet den Inhalt von Verzeichnissen als Baum auf

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.

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

Anwendung

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

Exit-Status

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.

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

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

  1. dircolors(1)
  2. ls(1)
  3. find(1)
  4. du(1)
  5. strftime(3)
  6. gitignore(5)

Links

Projekt-Homepage

Weblinks