Befehl tree: Verzeichnisbaum in hierarchischer Ansicht anzeigen
Mit dem Befehl tree
kannst du dir einen Verzeichnisbaum in einer übersichtlichen, hierarchischen Ansicht anzeigen lassen. Er bietet dir eine strukturierte Darstellung der Verzeichnisstruktur mit Unterverzeichnissen und Dateien.
Verwendung
Um tree
zu verwenden, gib einfach den Befehl in deinem Terminal oder deiner Shell ein, gefolgt vom Pfad zum Verzeichnis, das du anzeigen möchtest:
tree /pfad/zum/verzeichnis
Wenn du keinen Pfad angibst, zeigt tree
das aktuelle Verzeichnis an.
Optionen
tree
bietet verschiedene Optionen zur Anpassung der Verzeichnisbaumanzeige:
-
-d
: Zeigt nur Verzeichnisse an und unterdrückt Dateien. -
-f
: Zeigt sowohl Verzeichnisse als auch Dateien an. -
-r
: Aktiviert die rekursive Anzeige und zeigt Unterverzeichnisse und deren Inhalte an. -
-l
: Fügt erweiterte Informationen wie Dateigröße und Änderungsdatum hinzu. -
-P
: Fügt den Dateityp an den Dateinamen an. -
-C
: Färbt Dateinamen basierend auf ihrem Typ.
Beispiel
Betrachten wir das folgende Beispiel:
tree -d -P /home/benutzer
Dieser Befehl zeigt die Verzeichnisstruktur des Verzeichnisses /home/benutzer
an, wobei nur Verzeichnisse angezeigt werden. Die Dateitypen werden an die Dateinamen angehängt, wie z. B.:
├── Dokumente (Verzeichnis)
├── Downloads (Verzeichnis)
├── Musik (Verzeichnis)
├── Bilder (Verzeichnis)
└── Videos (Verzeichnis)
Vorteile
Tree bietet im Vergleich zu anderen Verzeichnisbefehlsanzeigen folgende Vorteile:
- Hierarchische Ansicht: Zeigt Verzeichnisse und Dateien in einer übersichtlichen, hierarchischen Struktur an.
- Anpassbar: Mit verschiedenen Optionen kannst du die Anzeige an deine Bedürfnisse anpassen.
- Nützlich für die Navigation: Hilft dir dabei, dich durch komplexe Verzeichnisstrukturen zu navigieren.
Befehl ls: Auflistung von Verzeichnisinhalten mit verschiedenen Optionen
Der Befehl ls
ist ein vielseitiges Werkzeug in Linux, mit dem du Verzeichnisinhalte auflisten kannst. Er bietet eine breite Palette an Optionen, die dir die Anpassung der Ausgabe nach deinen spezifischen Anforderungen ermöglichen.
Grundlegende Optionen
Die grundlegendste Option von ls
ist -l
, die detaillierte Informationen zu jedem Eintrag auflistet, darunter Dateityp, Berechtigungen, Größe und Zeitstempel.
ls -l
Die Option -a
zeigt auch versteckte Dateien und Verzeichnisse, die standardmäßig nicht angezeigt werden.
ls -a
Sortierung und Filterung
Du kannst die Ausgabe von ls
auch nach verschiedenen Kriterien sortieren. Die Option -t
sortiert beispielsweise nach Zeitstempel, während -S
nach Dateigröße sortiert.
ls -t
ls -S
Darüber hinaus kannst du mit ls
nach bestimmten Dateitypen filtern. Die Option -d
listet beispielsweise nur Verzeichnisse auf, während -f
nur Dateien auflistet.
ls -d
ls -f
Rekursive Anzeige
Mit der Option -R
kannst du einen Verzeichnisbaum rekursiv anzeigen, sodass alle Unterverzeichnisse und deren Inhalte aufgelistet werden.
ls -R
Verwendung von Pipes
Pipes ermöglichen es dir, die Ausgabe eines Befehls als Eingabe für einen anderen Befehl zu verwenden. Mit Pipes kannst du die Ergebnisse von ls
mit anderen Befehlen kombinieren, um erweiterte Verzeichnisanzeigen zu erstellen.
Beispielsweise kannst du ls
mit dem Befehl grep
kombinieren, um nach bestimmten Dateinamen zu filtern:
ls | grep "Textdatei"
Oder du kannst ls
mit dem Befehl wc
kombinieren, um die Anzahl der Dateien in einem Verzeichnis zu zählen:
ls | wc -l
Indem du ls
mit anderen Befehlen kombinierst, kannst du die Möglichkeiten zur Anzeige und Manipulation von Verzeichnisinhalten in Linux erheblich erweitern.
Befehl find: Suche nach Dateien und Verzeichnissen mit erweiterten Filtern
Der Befehl find
bietet dir eine leistungsstarke Methode, um Dateien und Verzeichnisse in Linux anhand bestimmter Kriterien zu suchen. Im Vergleich zu anderen Befehlen wie ls
und tree
ermöglicht find
die Verwendung erweiterter Filter, die dir eine präzisere Suche ermöglichen.
Grundlagen des Befehls find
Die allgemeine Syntax für find
lautet:
find [Suchpfad] -optionen [Ausdruck]
- Suchpfad: Das Verzeichnis, in dem die Suche beginnen soll.
- Optionen: Verschiedene Optionen, die die Sucheinstellungen steuern.
- Ausdruck: Der Filter, der die Suchkriterien definiert.
Filteroptionen
find
bietet eine Vielzahl von Filteroptionen, mit denen du nach spezifischen Dateiattributen suchen kannst:
- -name Muster: Sucht nach Dateien, die mit dem angegebenen Muster übereinstimmen.
- -type Typ: Sucht nach Dateien eines bestimmten Typs (z. B. Dateien, Verzeichnisse oder Links).
- -size Grösse: Sucht nach Dateien mit einer bestimmten Größe (in Bytes, Kilobytes oder Megabytes).
- -mtime Tage: Sucht nach Dateien, die innerhalb der letzten "Tage" geändert wurden.
- -perm Berechtigungen: Sucht nach Dateien mit bestimmten Berechtigungen.
Verknüpfung von Filtern
Du kannst mehrere Filteroptionen kombinieren, um deine Suche einzugrenzen. Verwende dazu die Operatoren -and
, -or
und -not
.
Beispiel: Suche nach allen Dateien im aktuellen Verzeichnis, die die Erweiterung .txt
haben, größer als 1 MB sind und innerhalb der letzten Woche geändert wurden:
find . -name "*.txt" -size +1M -mtime -7
Rekursive Suche
Die Option -R
(oder -recurse
) ermöglicht es find
, rekursiv durch das angegebene Verzeichnis und seine Unterverzeichnisse zu suchen. Dies ist hilfreich, wenn du eine umfassende Suche nach Dateien oder Verzeichnissen durchführen möchtest.
Ausgabe formatieren
Standardmäßig gibt find
nur die Dateipfade der übereinstimmenden Elemente aus. Du kannst jedoch die Option -printf Format
verwenden, um die Ausgabe zu formatieren.
Beispiel: Suche nach allen ausführbaren Dateien im aktuellen Verzeichnis und gib den Dateinamen, die Größe und die Berechtigungen aus:
find . -type f -executable -printf "%f %s %p\n"
Erweiterte Nutzung
find
ist ein vielseitiger Befehl, der für verschiedene Aufgaben verwendet werden kann, z. B. das Auffinden von doppelten Dateien, das Löschen alter Protokolle oder das Verwalten von Berechtigungen. Weitere Informationen und Beispiele findest du in der Manpage von find.
Befehl du: Anzeige des Speicherverbrauchs von Verzeichnissen und Dateien
Der Befehl du
(Abkürzung für "disk usage") gibt dir einen detaillierten Überblick über den Speicherplatz, der von Verzeichnissen und Dateien auf deinem System belegt wird. Dies kann dir dabei helfen, Speicherressourcen zu verwalten und zu entscheiden, welche Dateien oder Verzeichnisse gelöscht oder verschoben werden sollen.
Syntax
Die allgemeine Syntax für den Befehl du
lautet:
du [Optionen] [Dateien oder Verzeichnisse]
Optionen
- -a, –all: Zeigt den belegten Speicherplatz aller Dateien und Verzeichnisse an, einschließlich versteckter.
- -h, –human-readable: Zeigt den Speicherplatz in für Menschen lesbaren Formaten wie KB, MB oder GB an.
- -s, –summarize: Fasst den belegten Speicherplatz für jedes angegebene Verzeichnis oder jede angegebene Datei zusammen.
- -x, –exclude: Schließt bestimmte Dateien oder Verzeichnisse von der Berechnung des Speicherplatzes aus.
- -L, –follow: Folgt symbolischen Links und berechnet den Speicherplatz des Ziels anstatt des Links selbst.
Verwendung
Um den Speicherplatz eines einzelnen Verzeichnisses oder einer einzelnen Datei anzuzeigen, gib einfach den Pfad dazu als Argument für den Befehl du
an. Beispielsweise zeigt der folgende Befehl den Speicherplatz des Verzeichnisses /home/benutzer/Dokumente
an:
du /home/benutzer/Dokumente
Du kannst den Befehl du
auch zum rekursiven Anzeigen des Speicherplatzes eines gesamten Verzeichnisbaums verwenden. Dazu verwendest du die Option -R
(rekursiv). Beispielsweise zeigt der folgende Befehl den Speicherplatz jedes Verzeichnisses und jeder Datei im Verzeichnis /home/benutzer
rekursiv an:
du -R /home/benutzer
Verketten von Befehlen mit Pipes
Du kannst den Befehl du
mit anderen Befehlen kombinieren, um erweiterte Verzeichnisanzeigen zu erhalten. Eine Möglichkeit besteht darin, den Befehl du
mit dem Befehl grep
zu verketten, um nur Dateien oder Verzeichnisse anzuzeigen, die mit einem bestimmten Muster übereinstimmen. Beispielsweise zeigt der folgende Befehl alle Dateien und Verzeichnisse im aktuellen Verzeichnis an, die das Wort "Arbeit" im Namen enthalten:
du | grep Arbeit
Zusätzliche Hinweise
- Der Befehl
du
ist ein leistungsstarkes Tool, mit dem du den Speicherplatz deines Systems effizient verwalten kannst. - Durch die Verwendung verschiedener Optionen kannst du den Befehl
du
an deine spezifischen Anforderungen anpassen. - Wenn du den Befehl
du
auf einem großen Verzeichnisbaum verwendest, kann es einige Zeit dauern, bis die Ergebnisse angezeigt werden.
Option -l: Anzeige detaillierter Informationen zu Verzeichnisinhalten
Die Option -l
des Befehls ls
bietet dir eine detailliertere Ansicht der Inhalte eines Verzeichnisses. Sie listet alle Dateien und Unterverzeichnisse im Verzeichnis auf und liefert zusätzliche Informationen wie Dateityp, Größe, Datum und Uhrzeit der letzten Änderung sowie Berechtigungen.
Dateiberechtigungen
Die Ausgabe von ls -l
enthält eine Spalte mit Dateiberechtigungen. Diese unterteilt sich in drei Teile:
- Benutzerberechtigungen: Dies sind die Berechtigungen, die der Eigentümer der Datei hat.
- Gruppenberechtigungen: Dies sind die Berechtigungen, die Mitglieder der Gruppe haben, zu der die Datei gehört.
- Andere Berechtigungen: Dies sind die Berechtigungen, die alle anderen Benutzer haben.
Jede Berechtigungsliste besteht aus drei Buchstaben:
- r: Leseberechtigung
- w: Schreibrechtigung
- x: Ausführungsberechtigung
Ein Beispiel für eine Dateiberechtigung wäre -rw-r--r--
, was bedeutet, dass der Eigentümer Leserechte und Schreibrechte hat, die Gruppe Leserechte hat und alle anderen nur Leserechte haben.
Dateitypen
Die Option -l
zeigt auch den Dateityp an. Dies kann entweder eine normale Datei, ein Verzeichnis, ein symbolischer Link oder ein spezielles Gerät sein. Der Dateityp wird durch einen Buchstaben am Anfang der Ausgabezeile angezeigt:
- -: Normale Datei
- d: Verzeichnis
- l: Symbolischer Link
- b: Blockgerät
- c: Zeichen устройство
Größe, Datum und Uhrzeit der letzten Änderung
ls -l
zeigt auch die Größe der Datei in Bytes, das Datum der letzten Änderung und die Uhrzeit der letzten Änderung an. Diese Informationen können nützlich sein, um den Speicherplatzbedarf zu ermitteln oder zu verfolgen, wann sich Dateien zuletzt geändert haben.
Wenn du die Option -lh
verwendest, wird die Größe der Datei in einem für Menschen lesbaren Format angezeigt (z. B. KB, MB, GB).
Verwendung mit anderen Optionen
Die Option -l
kann mit anderen Optionen des Befehls ls
kombiniert werden, um eine noch detailliertere Ansicht der Verzeichnisinhalte zu erhalten. Beispielsweise kannst du Folgendes verwenden:
-
ls -lR
: Rekursive Anzeige der Verzeichnisbaumstruktur mit detaillierten Informationen -
ls -la
: Anzeige versteckter Dateien und Verzeichnisse mit detaillierten Informationen -
ls -lht
: Sortierung der Verzeichnisinhalte nach der Zeit der letzten Änderung (neueste zuerst) -
ls -lSr
: Sortierung der Verzeichnisinhalte nach Größe (größte zuerst)
Option -R: Rekursive Anzeige des Verzeichnisbaums
Mit der Option -R
kannst du dich rekursiv durch ein Verzeichnis bewegen und dessen gesamte hierarchische Struktur anzeigen. Dies ist besonders nützlich, wenn du den gesamten Inhalt eines Verzeichnisses und seiner Unterverzeichnisse auf einen Blick sehen möchtest.
Verwendung
Um eine rekursive Anzeige des Verzeichnisbaums durchzuführen, verwende den Befehl tree
wie folgt:
tree -R
Dies zeigt dir eine vollständige, verschachtelte Darstellung aller Verzeichnisse und Dateien unter dem aktuellen Arbeitsverzeichnis.
Optionen
Zusätzlich zur Option -R
kannst du weitere Optionen verwenden, um die Ausgabe des Befehls tree
anzupassen:
-
-d
: Nur Verzeichnisse anzeigen -
-f
: Dateinamen anzeigen -
-L <Ebene>
: Nur die ersten<Ebene>
Ebenen des Verzeichnisbaums anzeigen -
-P
: Verzeichnisnamen mit Schrägstrich (/) am Ende anzeigen
Beispiele
- Um den vollständigen Verzeichnisbaum unter dem aktuellen Arbeitsverzeichnis rekursiv anzuzeigen, verwende:
tree -R
- Um nur die ersten drei Ebenen des Verzeichnisbaums rekursiv anzuzeigen, verwende:
tree -R -L 3
- Um eine rekursive Anzeige aller Verzeichnisse und Dateien durchzuführen, mit Dateinamen und Verzeichnisnamen, die mit Schrägstrich enden, verwende:
tree -R -f -P
Vorteile
Die Verwendung der Option -R
bietet folgende Vorteile:
- Umfassende Übersicht: Sie bietet dir eine vollständige Ansicht aller Verzeichnisse und Dateien in einem Verzeichnisbaum.
- Fehlerbehebung: Sie kann bei der Fehlerbehebung in Verzeichnisstrukturen helfen, indem sie dir eine visuelle Darstellung der Hierarchie zeigt.
- Ressourcenverwaltung: Sie ermöglicht es dir, den Speicherverbrauch von Verzeichnissen und Dateien zu ermitteln und Speicherressourcen effizient zu verwalten.
Alternativen
Es gibt auch alternative Tools, die ähnliche Funktionen wie der Befehl tree
bieten, darunter:
- TreeView: Eine grafische Benutzeroberfläche (GUI) zur Visualisierung von Verzeichnisbäumen
- Ncdu: Ein textbasiertes Tool, das Verzeichnisbäume visuell darstellt, mit farbcodierter Darstellung des Speicherverbrauchs
Option –sort: Sortierung der Verzeichnisinhalte nach verschiedenen Kriterien
Mit der Option --sort
kannst du die Ausgabe der Befehle tree
, ls
und find
nach verschiedenen Kriterien sortieren. Dies ermöglicht dir, Verzeichnisstrukturen auf organisierte und benutzerfreundliche Weise anzuzeigen.
Sortierkriterien
Die folgenden Sortierkriterien stehen zur Verfügung:
- Zeit: Sortiert nach Erstellungs-, Änderungs- oder Zugriffszeit.
- Größe: Sortiert nach Dateigröße.
- Name: Sortiert nach Dateiname.
- Typ: Sortiert nach Dateityp (z. B. Verzeichnis, Datei, Verknüpfung).
- Inode: Sortiert nach der Inode-Nummer (interne Identifikationsnummer).
Sortierreihenfolge
Du kannst die Sortierreihenfolge mithilfe der Flags --sort=asc
und --sort=desc
festlegen. asc
steht für aufsteigend (vom kleinsten zum größten oder vom ältesten zum neuesten) und desc
für absteigend (vom größten zum kleinsten oder vom neuesten zum ältesten).
Beispiele
-
Nach Dateiname sortieren:
tree --sort=name
-
Nach Zugriffszeit absteigend sortieren:
ls -l --sort=atime:desc
-
Nach Dateityp sortieren:
find / -type f --sort=type
-
Nach Größe aufsteigend sortieren und versteckte Dateien anzeigen:
du -a --sort=size:asc
Verwendung in Pipes
Du kannst die Option --sort
mit Pipes kombinieren, um erweiterte Sortierfunktionen zu erhalten. Beispielsweise kannst du den Befehl find
verwenden, um Dateien zu suchen und zu filtern, und dann die Option --sort
anwenden, um die Ergebnisse nach einem bestimmten Kriterium zu sortieren.
find / -name "*.txt" -print0 | sort -z --sort=size:asc
Dieser Befehl sucht nach allen Dateien mit der Erweiterung ".txt" im Verzeichnis /
und sortiert sie nach aufsteigender Größe.
Verwendung von Pipes zum Verketten von Befehlen für erweiterte Verzeichnisanzeigen
Pipes ermöglichen es dir, die Ausgabe eines Befehls als Eingabe für einen anderen Befehl zu verwenden. Dies eröffnet eine Vielzahl von Möglichkeiten für die Anpassung der Verzeichnisanzeige an deine spezifischen Anforderungen.
Verzeichnisbaum sortieren und filtern
Du kannst die Befehle tree
und find
mit Pipes kombinieren, um den Verzeichnisbaum zu sortieren und zu filtern. Beispielsweise sortierst du den Verzeichnisbaum nach Dateigröße und zeigst nur Verzeichnisse an:
find / -type d | sort -k1,2r | head -n 10
Rekursive Suche und Anzeige
Mit Pipes kannst du die rekursive Suche von find
mit der hierarchischen Anzeige von tree
kombinieren. Dies ermöglicht es dir, einen bestimmten Dateityp rekursiv zu suchen und den zugehörigen Verzeichnisbaum anzuzeigen:
find / -name "*.txt" | xargs tree
Kombinierte Verzeichnisanzeigen
Du kannst verschiedene Befehle kombinieren, um komplexe Verzeichnisanzeigen zu erstellen. Beispielsweise kannst du den Speicherverbrauch von Verzeichnissen unter einem bestimmten Pfad anzeigen und diese nach Größe sortieren:
du -sh * | sort -rnk1
Verwendung von cat für benutzerdefinierte Formatierung
Der Befehl cat
kann verwendet werden, um die Ausgabe mehrerer Befehle zu verketten und benutzerdefinierte Formatierungen hinzuzufügen. Beispielsweise kannst du die detaillierte Inhaltsliste von ls
mit der hierarchischen Anzeige von tree
kombinieren:
cat <(ls -l) <(tree)
Weitere Pipe-Anwendungen
Die Möglichkeiten von Pipes zur Erweiterung der Verzeichnisanzeige sind nahezu unbegrenzt. Du kannst sie verwenden, um:
- Verarbeitungsergebnisse von verschiedenen Befehlen zu kombinieren
- Daten zwischen Befehlen zu filtern und zu sortieren
- Benutzerdefinierte Ausgabedatenformate zu erstellen
Verzeichnisbaum visualisieren mit Tools wie treeview und ncdu
Neben der Verwendung von Befehlszeilentools kannst du auch grafische Tools nutzen, um deinen Verzeichnisbaum zu visualisieren. Dies kann die Navigation und das Verständnis der Struktur deines Dateisystems erleichtern. Zu den beliebten Tools gehören:
TreeView
TreeView ist ein leichtgewichtiges Tool, mit dem du deinen Verzeichnisbaum in einer hierarchischen Baumansicht anzeigen kannst. Es bietet eine übersichtliche Darstellung der Verzeichnisstruktur und ermöglicht es dir, schnell durch Verzeichnisse zu navigieren.
Hauptmerkmale von TreeView:
- Hierarchische Baumansicht des Verzeichnisbaums
- Einfache Navigation durch Auf- und Abblättern der Verzeichnisstruktur
- Unterstützung für Drag-and-Drop-Operationen
- Anpassbare Einstellungen für Darstellung und Farben
Ncdu
Ncdu ist ein textbasiertes Tool, das den Speicherverbrauch von Verzeichnissen und Dateien visualisiert. Es zeigt eine baumartige Struktur an, wobei die Größe der Verzeichnisse proportional zu ihrem Speicherverbrauch dargestellt wird.
Hauptmerkmale von Ncdu:
- Visuelle Darstellung des Speicherverbrauchs des Verzeichnisbaums
- Sortierung nach Größe, Dateityp oder anderen Kriterien
- Unterstützung für die rekursive Anzeige versteckter Dateien und Verzeichnisse
- Interaktive Schnittstelle zum Durchsuchen und Filtern des Verzeichnisbaums
Verwendung von TreeView und Ncdu
Um TreeView zu verwenden, installiere es aus dem Software-Repository deiner Linux-Distribution. Öffne dann ein Terminal und gib den folgenden Befehl ein:
tree [options] [verzeichnis]
Um Ncdu zu verwenden, installiere es wie oben beschrieben und führe dann den folgenden Befehl aus:
ncdu [options] [verzeichnis]
Zusätzliche Optionen für beide Tools findest du in ihren jeweiligen Dokumentationen.