tree

Aus Foxwiki
Version vom 15. Juli 2024, 11:17 Uhr von Dirkwagner (Diskussion | Beiträge) (Textersetzung - „Kategorie:Linux/Dateisystem/Befehl“ durch „Kategorie:Linux/Dateisystem“)

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
  • 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