Wie können wir helfen?

Kategorien
Inhalt

Linux – Der “tree” Command

Navigation:
< zurück

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.

Kommentar absenden

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert