Wie können wir helfen?
Linux – Der “tree” Command
Inhaltsverzeichnis
Installation
Um den tree Befehl nutzen zu können, muss er zunächst auf dem System installiert werden, da er nicht standardmäßig Teil der meisten Linux-Distributionen ist. Unter Ubuntu kann dies mit dem folgenden Befehl erfolgen:
sudo apt-get install tree
Alternativ kann der tree Befehl auch über apturl installiert werden.
Syntax
Die grundlegende Syntax des tree Befehls lautet:
tree [OPTIONEN] [VERZEICHNIS]
Wenn kein Verzeichnis angegeben wird, zeigt tree die Struktur des aktuellen Verzeichnisses an.
Optionen
Der tree Befehl bietet eine Vielzahl von Optionen, die es ermöglichen, die Ausgabe anzupassen. Hier sind einige der häufigsten Optionen:
| Option | 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 |
Legt die Tiefe des Baums fest. |
-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
Zusätzlich zu den allgemeinen Optionen gibt es auch spezifische Optionen für die Anzeige von Datei- und Verzeichnisinformationen:
| 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 in Bytes an. |
--si |
Nutzt SI-Präfixe. |
--du |
Zeigt Größe der Datei sowie Unterordner an (wie du). |
Sortierungsoptionen
Die Ausgabe kann auch nach verschiedenen Kriterien sortiert werden:
| 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
Die Darstellung der Baumstruktur kann ebenfalls angepasst werden:
| Option | Bedeutung |
|---|---|
-i |
Keine Linien anzeigen. |
-n |
Keine Farben anzeigen. |
-C |
Immer Farben anzeigen (nutzt die Variable LS_COLORS). |
Ausgabeoptionen
Die Ausgabe kann in verschiedenen Formaten erfolgen:
| 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. |
Beispiele
Hier sind einige praktische Beispiele zur Verwendung des tree Befehls:
Allgemeiner Aufruf
Beim Aufruf ohne Parameter zeigt tree die Struktur des aktuellen Verzeichnisses an:
tree
Die Ausgabe könnte folgendermaßen aussehen:
.
├── ä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
Verzeichnisse bestimmter Ebenen
Der folgende Befehl zeigt die (gekürzte) Baumstruktur von /usr. Dabei werden nur Verzeichnisse angezeigt und maximal zwei Ebenen tief:
tree -dL 2 /usr
Die Ausgabe könnte folgendermaßen aussehen:
/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
HTML-Ausgabe
Der folgende Befehl nutzt Hyperlinks. Das Verzeichnis /var/log wird gewählt, sodass die meisten Links auf jedem Linux-System funktionieren:
tree -Cpugsh /var/log -H "file:///var/log" -o ~/tree.html
Die Ausgabe wird in eine HTML-Datei geschrieben, wobei file:///var/log die Wurzel für alle Links ist. Der Name der Ausgabe wird über -o festgelegt.
