Tree: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:tree}}
'''tree''' - Verzeichnisinhalt als Baum auflisten
'''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 ==
== 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.
; 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 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 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 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:
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
  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.
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 ==
== Installation ==
  # '''apt install tree'''
  # '''apt install tree'''
== Syntax ==
== Aufruf ==
  $ '''tree [Optionen] [Verzeichnis ...]'''
  $ '''tree [Optionen] [Verzeichnis ...]'''


Zeile 25: Zeile 50:
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| -a || Alle Dateien werden gedruckt.
| -a || Alle Dateien werden gedruckt
* Standardmäßig druckt tree keine versteckten Dateien (die mit einem Punkt `.' beginnen).
* Standardmäßig druckt tree keine versteckten Dateien (die mit einem Punkt `.' beginnen)
* In keinem Fall druckt tree die Dateisystemkonstrukte `.' (aktuelles Verzeichnis) und `..' (vorheriges Verzeichnis).
* In keinem Fall druckt tree die Dateisystemkonstrukte `.' (aktuelles Verzeichnis) und `..' (vorheriges Verzeichnis)
|-
|-
| -d || Listet nur Verzeichnisse auf.
| -d || Listet nur Verzeichnisse auf
|-
|-
| -l || Folgt symbolischen Links, wenn sie auf Verzeichnisse zeigen, als ob sie Verzeichnisse wären.
| -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.
* 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.
| -f || Gibt den vollständigen Pfadpräfix für jede Datei aus
|-
|-
| -x || Bleibt nur auf dem aktuellen Dateisystem.
| -x || Bleibt nur auf dem aktuellen Dateisystem
* Ala find -xdev.
* Ala find -xdev
|-
|-
| -L level || Maximale Anzeigetiefe des Verzeichnisbaums.
| -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.
| -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.
| -P pattern || Listet nur die Dateien auf, die dem Platzhaltermuster entsprechen
* Sie können mehrere -P Optionen haben.
* 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.
* 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.
* 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.
* Ein '/' am Ende des Musters passt auf Verzeichnisse, aber nicht auf Dateien
|-
|-
| -I-Muster || Die Dateien, die mit dem Platzhaltermuster übereinstimmen, werden nicht aufgelistet.
| -I-Muster || Die Dateien, die mit dem Platzhaltermuster übereinstimmen, werden nicht aufgelistet
* Sie können mehrere -I Optionen haben.
* Sie können mehrere -I Optionen haben
* Siehe -P oben für Informationen zu Platzhaltermustern.
* Siehe -P oben für Informationen zu Platzhaltermustern
|-
|-
| --gitignore || Verwendet git .gitignore-Dateien zum Filtern von Dateien und Verzeichnissen.
| --gitignore || Verwendet git .gitignore-Dateien zum Filtern von Dateien und Verzeichnissen
* Verwendet auch $GIT_DIR/info/exclude, falls vorhanden.
* 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.
| --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.
| --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.
* 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.
* 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.
| --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.
| --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.
* Siehe BUGS UND HINWEISE unten für weitere Informationen zu dieser Option
|-
|-
| --info || Druckt Dateikommentare, die in .info-Dateien gefunden wurden.
| --info || Druckt Dateikommentare, die in .info-Dateien gefunden wurden
* Weitere Informationen über das Format von .info-Dateien finden Sie unter .INFO-DATEIEN weiter unten.
* 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.
| --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.
| --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.
| --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.
| --timefmt format || Druckt (impliziert -D) und formatiert das Datum gemäß dem Formatstring, der die strftime(3)-Syntax verwendet
|-
|-
| -o filename || Ausgabe an filename senden.
| -o filename || Ausgabe an filename senden
|}
|}


Zeile 86: Zeile 111:
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| -q || Druckt nicht druckbare Zeichen in Dateinamen als Fragezeichen anstelle des Standardwerts.
| -q || Druckt nicht druckbare Zeichen in Dateinamen als Fragezeichen anstelle des Standardwerts
|-
|-
| -N || Druckt nicht druckbare Zeichen als Ist-Zeichen statt als escapte Oktalzahlen.
| -N || Druckt nicht druckbare Zeichen als Ist-Zeichen statt als escapte Oktalzahlen
|-
|-
| -Q || Die Namen von Dateien in Anführungszeichen setzen.
| -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).
| -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.
| -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.
| -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.
| -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. 
| -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).
* 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.
| --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.
| --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.
* Diese Option erfordert, dass tree den gesamten Verzeichnisbaum liest, bevor er ihn ausgibt, siehe BUGS UND HINWEISE unten
* Impliziert -s.
* 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.
| -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 || <nowiki>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 </nowiki>
| -F || <nowiki>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 </nowiki>
Zeile 123: Zeile 148:
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| -v || Sortiert die Ausgabe nach Version.
| -v || Sortiert die Ausgabe nach Version
|-
|-
| -t || Sortiert die Ausgabe nach der letzten Änderungszeit statt alphabetisch.
| -t || Sortiert die Ausgabe nach der letzten Änderungszeit statt alphabetisch
|-
|-
| -c || Sortiert die Ausgabe nach der letzten Statusänderung 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.
* Ändert die Option -D (falls verwendet), um die letzte Statusänderung anstelle der Änderungszeit zu drucken
|-
|-
| -U || Nicht sortieren.
| -U || Nicht sortieren
* Listet die Dateien in Verzeichnisreihenfolge auf.
* Listet die Dateien in Verzeichnisreihenfolge auf
* Deaktiviert --dirsfirst.
* Deaktiviert --dirsfirst
|-
|-
| -r || Sortiert die Ausgabe in umgekehrter Reihenfolge.
| -r || Sortiert die Ausgabe in umgekehrter Reihenfolge
* Dies ist eine Metasortierung, die die obigen Sortierungen verändert.
* Dies ist eine Metasortierung, die die obigen Sortierungen verändert
* Diese Option ist deaktiviert, wenn -U verwendet wird.
* Diese Option ist deaktiviert, wenn -U verwendet wird
|-
|-
| --dirsfirst || Listet Verzeichnisse vor Dateien auf.
| --dirsfirst || Listet Verzeichnisse vor Dateien auf
* Dies ist eine Metasortierung, die die obigen Sortierungen ändert.
* Dies ist eine Metasortierung, die die obigen Sortierungen ändert
* Diese Option ist deaktiviert, wenn -U verwendet wird.
* Diese Option ist deaktiviert, wenn -U verwendet wird
|-
|-
| --filesfirst || Listet Dateien vor Verzeichnissen auf.
| --filesfirst || Listet Dateien vor Verzeichnissen auf
* Dies ist eine Meta-Sortierung, die die obigen Sortierungen ändert.
* Dies ist eine Meta-Sortierung, die die obigen Sortierungen ändert
* Diese Option ist deaktiviert, wenn -U verwendet wird.
* Diese Option ist deaktiviert, wenn -U verwendet wird
|-
|-
| --sort[=]type || Sortiert die Ausgabe nach dem Typ statt nach dem Namen.
| --sort[=]type || Sortiert die Ausgabe nach dem Typ statt nach dem Namen
* Mögliche Werte sind: ctime (-c), mtime (-t), size, oder version (-v).
* Mögliche Werte sind: ctime (-c), mtime (-t), size, oder version (-v)
|}
|}


Zeile 155: Zeile 180:
! Option !! Beschreibung
! 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.
| -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.
| -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.
| -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.
| -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.
| -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
|}
|}


Zeile 171: Zeile 196:
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| -X || Schaltet die XML-Ausgabe ein.
| -X || Schaltet die XML-Ausgabe ein
* Gibt den Verzeichnisbaum als XML-formatierte Datei aus.
* Gibt den Verzeichnisbaum als XML-formatierte Datei aus
|-
|-
| -J || Schaltet die JSON-Ausgabe ein.
| -J || Schaltet die JSON-Ausgabe ein
* Gibt den Verzeichnisbaum als JSON-formatiertes Array aus.
* Gibt den Verzeichnisbaum als JSON-formatiertes Array aus
|-
|-
| -H baseHREF || Schaltet die HTML-Ausgabe ein, einschließlich HTTP-Referenzen.
| -H baseHREF || Schaltet die HTML-Ausgabe ein, einschließlich HTTP-Referenzen
* Nützlich für ftp-Seiten.
* Nützlich für ftp-Seiten
* baseHREF gibt den FTP-Basisort an, wenn HTML-Ausgabe verwendet wird.
* 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).
* 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.
* 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.
* 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.
| -T Titel || Setzt den Titel und den H1-Header-String im HTML-Ausgabemodus
|-
|-
| --nolinks|| Schaltet Hyperlinks in der HTML-Ausgabe aus.
| --nolinks|| Schaltet Hyperlinks in der HTML-Ausgabe aus
|}
|}


Zeile 194: Zeile 219:
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| --fromfile || Liest eine Verzeichnisliste aus einer Datei und nicht aus dem Dateisystem.
| --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.
* 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.
* 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.
* 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
|}
|}


Zeile 205: Zeile 230:
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| --help || Gibt eine ausführliche Nutzungsliste aus.
| --help || Gibt eine ausführliche Nutzungsliste aus
|-
|-
| --version || Gibt die Version von tree aus.
| --version || Gibt die Version von tree aus
|-
|-
| -- || Terminator der Optionsverarbeitung. Danach werden keine weiteren Optionen verarbeitet.
| -- || Terminator der Optionsverarbeitung. Danach werden keine weiteren Optionen verarbeitet
|}
|}


=== Parameter ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
== Anwendung ==
== Konfiguration ==
=== Umgebungsvariablen ===
=== Umgebungsvariablen ===
{| class="wikitable sortable options"
{| class="wikitable sortable options"
Zeile 225: Zeile 245:
| LS_COLORS || Von dircolors erstellte Farbinformationen
| LS_COLORS || Von dircolors erstellte Farbinformationen
|-
|-
| TREE_COLORS || Verwendet dies für Farbinformationen über LS_COLORS, wenn es gesetzt ist.
| 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.
| 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 || Aktiviert die Einfärbung, auch wenn TREE_COLORS oder LS_COLORS nicht gesetzt ist
|-
|-
| CLICOLOR_FORCE || Aktiviert immer die Einfärbung (effektiv -C)
| CLICOLOR_FORCE || Aktiviert immer die Einfärbung (effektiv -C)
|-
|-
| LC_CTYPE || Gebietsschema für die Ausgabe von Dateinamen.
| LC_CTYPE || Gebietsschema für die Ausgabe von Dateinamen
|-
|-
| LC_TIME || Gebietsschema für die timefmt-Ausgabe, siehe strftime(3).
| LC_TIME || Gebietsschema für die timefmt-Ausgabe, siehe strftime(3)
|-
|-
| TZ Zeitzone || 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.
| STDDATA_FD || Aktiviert die Funktion stddata, setzt optional den zu verwendenden Deskriptor
|}
|}


=== Exit-Status ===
== Anwendung ==
== Konfiguration ==
=== Dateien ===
=== Dateien ===
{|class="wikitable sortable options"
{|class="wikitable sortable options"
Zeile 249: Zeile 273:
| /etc/DIR_COLORS || System color database
| /etc/DIR_COLORS || System color database
|-
|-
| ~/.dircolors || Users color database.
| ~/.dircolors || Users color database
|-
|-
| .gitignore || Git exclusion file
| .gitignore || Git exclusion file
Zeile 261: Zeile 285:


[[Kategorie:Linux/Befehl]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Linux/Dateisystem]]


{{DEFAULTSORT:tree}}
{{DEFAULTSORT:tree}}
Zeile 277: Zeile 300:


==== Dokumentation ====
==== Dokumentation ====
===== Man-Pages =====
===== Man-Page =====
man 1 tree
 
===== Info-Pages =====
===== Info-Pages =====
==== Links ====
info tree
===== Projekt =====
 
===== Weblinks =====
[[Kategorie:Linux/Dateisystem/Befehl]]
 
{{DISPLAYTITLE:tree}}
 
</noinclude>
</noinclude>

Aktuelle Version vom 12. November 2024, 19:41 Uhr

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

Aufruf

$ 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-Page
man 1 tree
Info-Pages
info tree