Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
tree ist ein Programm, mit dem man sich eine Verzeichnishierarchie rekursiv als Baumstruktur anzeigen lassen kann. Das Programm verdeutlicht die Verzweigung der Verzeichnisse und unterscheidet sich damit stark von ls, mit dem lediglich der Inhalt von Verzeichnissen aufgelistet wird.
Um das Programm verwenden zu können, muss es zunächst installiert werden [1], da es nicht Teil der Standardinstallation ist.
tree (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install tree
sudo aptitude install tree
Da tree ein Kommandozeilenwerkzeug ist, muss es im Terminal[2] gestartet werden[3]:
tree [OPTIONEN] [VERZEICHNIS]
Im Folgendem eine unvollständige Auflistung von häufig genutzten Parametern. Weitere Parameter können in der Manpage des Programms eingesehen werden.
Optionen | |
Parameter | Bedeutung |
-a | Zeigt auch versteckte Verzeichnisse an |
-d | Zeigt nur Verzeichnisse an |
-l | Folgt symbolischen Links |
-f | Zeigt für jedes Objekt den vollen Pfad an |
-x | Bleibt auf dem aktuellen Dateisystem |
-L WERT | Hiermit kann die Tiefe des Baums festgelegt werden |
-P MUSTER | Zeigt nur Objekte an, die dem Muster entsprechen |
-I MUSTER | Zeigt Objekte, die dem Muster entsprechen, nicht an |
--prune | Lässt leere Verzeichnisse aus |
--filelimit WERT | Zeigt Verzeichnisse mit mehr als WERT Objekten nicht an |
-o DATEINAME | Schreibt die Ausgabe in eine Datei |
Dateioptionen | |
Option | Bedeutung |
-p | Listet auch Dateityp und -rechte auf |
-u | Listet auch den Benutzer jeder Datei auf |
-g | Listet auch die Gruppe jeder Datei auf |
-s | Gibt auch die jeweiligen Dateigrößen aus |
-h | Zeigt Dateigrößen in KB, MB, GB, usw. anstatt von Bytes an |
--si | Nutzt SI-Präfixe |
--du | Zeigt Größe der Datei sowie Unterordner an (wie du) |
Sortierungsoptionen | |
Option | Bedeutung |
-r | Umgekehrte alphabetische Reihenfolge |
-t | Nach dem Zeitpunkt der letzten Bearbeitung sortieren |
-U | Unsortiert (so wie im Verzeichnis tatsächlich sortiert) |
--dirsfirst | Listet zunächst Verzeichnisse auf |
Optionen der Darstellung | |
Option | Bedeutung |
-i | Keine Linien anzeigen |
-n | Keine Farben anzeigen |
-C | Immer Farben anzeigen (nutzt die Variable LS_COLORS) |
Ausgabeoptionen | |
Option | Bedeutung |
-X | Als XML-Datei ausgeben |
-H | Ausgabe in HTML-Datei schreiben (mit Hyperlinks) |
-T TITEL | Spezifiziert den Titel und die Überschrift für die HTML-Ausgabe |
--nolinks | Schaltet Hyperlinks in der HTML-Ausgabe ab |
Beim Aufruf ohne Parameter zeigt tree
die Struktur des aktuellen Verzeichnisses ohne weitere Informationen:
tree
Die daraus folgende Ausgabe:
. ├── änderungen.png ├── Anteil_png_jpg.ods ├── artikelliste ├── bilder.csv ├── bilder.gnuplt ├── geheim │ └── streng.geheim ├── nutzer.png ├── ohne.csv ├── ohne.csv~ ├── png_jpg.png ├── report.csv ├── Wikiaktion_Graphen.ods └── wikiaktion.inyoka 1 directory, 13 files
Der folgende Befehl zeigt die (gekürzte) Baumstruktur von /usr. Dabei werden nur Verzeichnisse angezeigt und max. zwei Ebenen tief:
tree -dL 2 /usr
Die daraus folgende Ausgabe:
/usr ├── bin │ └── X11 -> . ├── games ├── include │ ├── arpa │ ├── asm-generic │ ├── c++ │ ├── dbus-1.0 │ ├── drm │ ├── gnucash │ ├── gstreamer-0.10 │ ├── i386-linux-gnu │ ├── linux │ ├── mm │ ├── mtd │ ├── nautilus-sendto │ ├── net │ ├── netash │ ├── netatalk │ ├── netax25 │ ├── neteconet │ ├── netinet │ ├── netipx │ ├── netiucv │ ├── netpacket │ ├── netrom │ ├── netrose │ ├── nfs │ ├── protocols │ ├── python2.7 │ ├── python3.2mu │ ├── rdma │ ├── rpc │ ├── rpcsvc │ ├── scsi │ ├── sound │ ├── video │ ├── X11 │ ├── xchat │ ├── xen │ ├── xfce4 │ └── xorg ├── lib │ ├── accountsservice │ ├── adobe-flashplugin │ ├── apg │ ├── apr-util-1 │ ├── apt │ ├── aqbanking │ ├── aspell │ ├── atlas-base │ ├── at-spi2-core │ ├── avahi │ ├── binfmt-support │ ├── blueman │ ├── canto │ ├── catdoc │ ├── cli │ ├── compat-ld │ ├── cone │ ├── ConsoleKit │ ├── control-center-1 │ ├── coreutils │ ├── cups │ ├── cups-pk-helper │ ├── dbus-1.0 │ ├── dconf … │ ├── webkitgtk-1.0-0 │ ├── webkitgtk-3.0-0 │ ├── weechat │ ├── X11 │ ├── xchat │ ├── xfce4 │ ├── xfce4-dict │ ├── xfce4-verve-plugin │ ├── xorg │ ├── xscreensaver │ ├── xulrunner │ ├── xulrunner-addons │ ├── zeitgeist │ └── zsh ├── local │ ├── bin │ ├── etc │ ├── games │ ├── include │ ├── lib │ ├── man -> share/man │ ├── sbin │ ├── share │ └── src ├── sbin ├── share │ ├── a2ps │ ├── abiword-2.9 │ ├── accounts │ ├── aclocal │ ├── acpi-support │ ├── adduser │ ├── adium │ ├── alacarte │ ├── alsa │ ├── alsa-base │ ├── app-install │ ├── application-registry │ ├── applications … │ ├── software-center │ ├── software-properties │ ├── sounds │ ├── speech-dispatcher │ ├── speedcrunch │ ├── ssl-cert │ ├── state │ ├── synaptic │ ├── system-config-printer │ ├── system-tools-backends-2.0 │ ├── sysv-rc │ ├── tabset │ ├── tcltk │ ├── telepathy │ ├── Terminal │ ├── terminator │ ├── terminfo │ ├── tesseract-ocr │ ├── tex-common │ ├── texinfo │ ├── texlive │ ├── texlive-bin │ ├── texmf │ ├── themes │ ├── thumbnailers │ ├── Thunar │ ├── transmission │ ├── tudu │ ├── ubuntu-drivers-common │ ├── ubuntu-release-upgrader │ ├── ufw │ ├── unattended-upgrades │ ├── unity-greeter │ ├── update-manager │ ├── update-notifier │ ├── usb-creator │ ├── usb_modeswitch │ ├── vim │ ├── vlc │ ├── vrms │ ├── vte │ ├── webkitgtk-1.0 │ ├── webkitgtk-3.0 │ ├── wpgen │ ├── X11 │ ├── xfce4 │ ├── xfce4-notes-plugin │ ├── xfig │ ├── xfwm4 │ ├── xgreeters │ ├── xml │ ├── xml-core │ ├── xscreensaver │ ├── xserver-xorg │ ├── xsessions │ ├── xubuntu │ ├── xubuntu-docs │ ├── xul-ext │ ├── yelp │ ├── yelp-xsl │ ├── zenity │ ├── zenmap │ ├── zim │ ├── zoneinfo │ └── zsh └── src ├── linux-headers-3.5.0-22 ├── linux-headers-3.5.0-22-generic ├── linux-headers-3.5.0-23 ├── linux-headers-3.5.0-23-generic └── Ralink_2860sta-2.4.0.0 648 directories
Das folgende Beispiel nutzt Hyperlinks. Da das Verzeichnis /var/log gewählt wurde, sollten die meisten Links auf jedem Linux-System funktionieren.
Die Ausgabe ist farbig (-C
), zeigt Rechte, Eigentümer und Gruppe an (-pug
) sowie die Größen der Dateien (-s
) in gut lesbarer Form (-h
). Das Verzeichnis, dessen Baum gebildet wird, ist /var/log. Die Ausgabe wird in eine HTML-Datei geschrieben. Dabei ist file:///var/log
die Wurzel für alle Links, das heißt es wird immer auf die Dateien des aktuellen System gelinkt. Es kann aber auch der Link zu einem Webserver oder FTP-Server sein. Der Name der Ausgabe wird über -o
festgelegt.
tree -Cpugsh /var/log -H "file:///var/log" -o ~/tree.html
Ausgabedatei für den obigen Befehl: tree.html
Diese Revision wurde am 16. Januar 2014 18:26 von aasche erstellt.