Harting Development

Ermitteln der Ordnergröße unter Linux: Ein praktischer Leitfaden

Lukas Fuchs vor 7 Monaten in  Performance-Optimierung 3 Minuten Lesedauer

Befehl zur Anzeige der Ordnergröße

Die einfachste Methode, die Größe eines Ordners unter Linux zu ermitteln, ist die Verwendung des Befehls du. Dieser Befehl gibt standardmäßig die Größe des angegebenen Ordners zusammen mit einer Aufschlüsselung der Größen seiner Unterverzeichnisse aus.

Syntax

du [Optionen] [Pfad/zu/Ordner]

Optionen

  • -a: Alle Dateien anzeigen, auch versteckte.
  • -c: Eine Gesamtgröße aller aufgelisteten Dateien und Verzeichnisse ausgeben.
  • -h: Größen in menschenlesbaren Einheiten (z. B. GB, MB) anzeigen.
  • -k: Größen in Kilobyte anzeigen.
  • -m: Größen in Megabyte anzeigen.
  • -s: Nur eine Gesamtgröße ausgeben, ohne eine Aufschlüsselung.

Beispiel

Um beispielsweise die Größe des Ordners /home/benutzer/Dokumente zu ermitteln, gibst du folgenden Befehl ein:

du -h /home/benutzer/Dokumente

Dieser Befehl gibt eine Ausgabe ähnlich der folgenden aus:

153M /home/benutzer/Dokumente
4.1K /home/benutzer/Dokumente/Wichtige Dokumente
5.0M /home/benutzer/Dokumente/Arbeitsdokumente
144M /home/benutzer/Dokumente/Persönliche Dokumente

Wie du siehst, gibt der Befehl du die Größe jedes Unterverzeichnisses sowie die Gesamtgröße des übergeordneten Ordners aus.

Verwendung von Shell-Skripten zur Berechnung der Ordnergröße

Einführung

Shell-Skripte sind eine leistungsstarke Möglichkeit, automatisierte Aufgaben unter Linux durchzuführen. Sie können zur Berechnung der Ordnergröße verwendet werden, um die Speicherbelegung zu analysieren und Speicherplatz zu optimieren.

Shell-Funktionen

Die du (Disk Usage) Shell-Funktion ist ein grundlegendes Werkzeug zur Berechnung der Ordnergröße. Sie zeigt die Gesamtgröße der Dateien und Unterverzeichnisse eines bestimmten Verzeichnisses an.

Um ein Shell-Skript zu schreiben, das die du-Funktion verwendet, kannst du Folgendes tun:

Beispiel-Shell-Skript

Das folgende Beispiel-Shell-Skript berechnet die Ordnergröße des Verzeichnisses ~/Downloads:

#!/bin/bash

# Verzeichnispfad
dir_path=~/Downloads

# Berechnung der Ordnergröße
total_size=$(du -sb "$dir_path" | cut -f1)

# Ausgabe der Ordnergröße
echo "Die Gesamtgröße von $dir_path beträgt $total_size Bytes."

Personalisierung des Skripts

Du kannst das Skript nach Bedarf anpassen, indem du folgende Optionen in der du-Funktion verwendest:

  • -b: Größe in Bytes anzeigen
  • -h: Größe in menschenlesbaren Einheiten (z. B. KB, MB, GB) anzeigen
  • -s: Gesamtgröße des Ordners anstelle der Größe einzelner Dateien und Unterverzeichnisse anzeigen
  • -c: Grand Total aller angegebenen Verzeichnisse anzeigen

Erweiterte Funktionen

Fortgeschrittenere Shell-Skripte können zusätzliche Funktionen bieten, wie z. B.:

  • Rekursive Größenberechnung von Unterverzeichnissen
  • Ausschluss bestimmter Verzeichnisse und Dateien
  • Vergleich der Größen mehrerer Ordner
  • Visualisierung der Ordnergröße mithilfe von Tools wie tree oder ncdu

Denke daran, dein Skript ausführbar zu machen, indem du chmod +x auf die Datei anwendest.

Rekursive Größenberechnung mit dem 'du'-Befehl

Der 'du'-Befehl bietet die Möglichkeit, die Ordnergröße rekursiv zu berechnen, d. h. die Gesamtgröße des Ordners und aller darin enthaltenen Unterverzeichnisse und Dateien zu ermitteln.

Syntax

du [Optionen] [Pfade]

Rekursive Größenberechnung

Die Option -r (oder --recursive) wird verwendet, um die rekursive Größenberechnung zu aktivieren. Damit kannst du die Gesamtgröße eines Ordners inklusive aller Unterverzeichnisse ermitteln.

du -r /verzeichnis/

Optionale Parameter

Es gibt einige optionale Parameter, die du zusammen mit der Option -r verwenden kannst:

  • -a: Zeigt die Größe jeder Datei und jedes Verzeichnisses an, anstatt nur die Zusammenfassung.
  • -h: Zeigt die Größen in lesbaren Einheiten (z. B. KB, MB, GB) an.
  • --max-depth=N: Begrenzt die rekursive Suche auf die angegebene Tiefe N.

Beispiel

Um beispielsweise die Gesamtgröße des Verzeichnisses /home/benutzer/Dokumente und aller darin enthaltenen Unterverzeichnisse und Dateien rekursiv zu berechnen, kannst du folgenden Befehl ausführen:

du -r /home/benutzer/Dokumente

Vergleiche der Ordnergröße

Du kannst den 'du'-Befehl auch verwenden, um die Größen verschiedener Ordner zu vergleichen. Dazu verwendest du die Option --compare (oder -c):

du -r --compare /verzeichnis1 /verzeichnis2

Dies zeigt dir die Größen der beiden Verzeichnisse an und hebt den größeren hervor.

Hinweise

  • Berechtigungen: Möglicherweise musst du die Ausführung des Befehls mit erhöhten Berechtigungen (z. B. als Root) autorisieren, insbesondere wenn du auf Verzeichnisse zugreifst, für die du keine Leseberechtigung hast.
  • Ausgeschlossene Dateien und Verzeichnisse: Du kannst die Optionen --exclude und --exclude-from verwenden, um bestimmte Dateien oder Verzeichnisse von der Größenberechnung auszuschließen.
  • Visualisierung: Es gibt Tools wie ncdu (Ncurses Disk Usage) und gdmap (Graphical Disk Map), mit denen du die Ordnergröße visuell darstellen kannst.

Optionale Parameter beim 'du'-Befehl

Zusätzlich zu den grundlegenden Optionen bietet der 'du'-Befehl eine Reihe von Parametern, mit denen du die Ausgabe anpassen und die Berechnung der Ordnergröße optimieren kannst.

### Maximale Anzeigentiefe festlegen

Mit der Option '-d' kannst du die maximale Tiefe der Verzeichnisstruktur festlegen, die durchsucht werden soll. Standardmäßig durchsucht 'du' alle Unterverzeichnisse. Wenn du jedoch nur die Größe eines bestimmten Verzeichnispfads wissen möchtest, kannst du '-d 1' angeben, um die Suche auf das unmittelbare Unterverzeichnis zu beschränken.

### Ausgabe formatieren

Die Optionen '-h' und '-g' formatieren die Ausgabe des 'du'-Befehls. Mit '-h' werden die Größen in lesbaren Einheiten wie KB, MB und GB angezeigt, während '-g' die Größen in Gigabyte ausgibt.

### Sicherheitsoptionen

Die Optionen '-S' und '-H' beeinflussen die Behandlung von Sicherheitsberechtigungen.

  • '-S': Überspringt die Größenberechnung von Verzeichnissen, auf die du keinen Zugriff hast.
  • '-H': Berücksichtigt Symbolische Links und folgt ihnen bei der Größenberechnung. Dies kann nützlich sein, wenn du die Größe eines Verzeichnisses ermitteln möchtest, das über einen symbolischen Link zugänglich ist.

### Weitere Optionen

Weitere erwähnenswerte Parameter sind:

  • '-a': Zeigt die Größe aller Dateien und Verzeichnisse im aktuellen Verzeichnis an.
  • '-s': Zeigt nur die Gesamtsumme der Ordnergröße an, ohne die einzelnen Verzeichnisse aufzulisten.
  • '-t': Sortiert die Ausgabe nach Dateityp.

Durch die Verwendung dieser optionalen Parameter kannst du die Ausgabe des 'du'-Befehls an deine spezifischen Anforderungen anpassen und die Größenberechnung von Ordnern unter Linux optimieren.

Ausschluss von Verzeichnissen und Dateien

Beim Berechnen der Ordnergröße kann es manchmal erforderlich sein, bestimmte Verzeichnisse oder Dateien auszuschließen. Dies kann hilfreich sein, wenn du nur an einem Teil des Ordnerinhalts interessiert bist oder Verzeichnisse oder Dateien mit sensiblen Daten ausschließen möchtest.

Ausschluss anhand von Mustern

Um bestimmte Muster von Verzeichnissen oder Dateien auszuschließen, kannst du die Option --exclude zusammen mit einem Muster verwenden. Ein Muster ist eine Zeichenfolge, die eine Gruppe von Dateien oder Verzeichnissen definiert.

du -sh --exclude "*.txt" /pfad/zum/ordner

Im obigen Befehl wird die Größe des Ordners /pfad/zum/ordner berechnet, wobei alle Textdateien (die mit .txt enden) ausgeschlossen werden.

Rekursive Ausschluss

Wenn du Verzeichnisse oder Dateien rekursiv ausschließen möchtest, kannst du die Option --exclude-from zusammen mit einer Datei verwenden, die die auszuschließenden Muster enthält.

echo "*.txt" > ausschlussliste.txt
du -sh --exclude-from=ausschlussliste.txt /pfad/zum/ordner

Im obigen Befehl wird eine Datei namens ausschlussliste.txt erstellt, die das Muster .txt enthält. Anschließend wird der Befehl du ausgeführt, wobei alle Textdateien aus der Berechnung der Ordnergröße ausgeschlossen werden.

Ausschluss anhand von Dateipfaden

Wenn du bestimmte Dateipfade ausschließen möchtest, kannst du die Option --exclude-dir verwenden. Diese Option nimmt eine Liste von Verzeichnispfaden an, die ausgeschlossen werden sollen.

du -sh --exclude-dir=/pfad/zum/ausgeschlossenen/verzeichnis /pfad/zum/ordner

Im obigen Befehl wird die Größe des Ordners /pfad/zum/ordner berechnet, wobei das Verzeichnis /pfad/zum/ausgeschlossenen/verzeichnis ausgeschlossen wird.

Berechtigungsprobleme und deren Umgehung

Du kannst bei der Berechnung der Ordnergröße auf Berechtigungsprobleme stoßen, insbesondere wenn du versuchst, auf Verzeichnisse zuzugreifen, für die du keine Leseberechtigung hast. Um diese Probleme zu umgehen, kannst du die folgenden Schritte ausführen:

Verwendung des Befehls 'sudo'

Der Befehl sudo ermöglicht es dir, Befehle mit Root-Berechtigungen auszuführen. Füge dem du-Befehl einfach das Präfix sudo hinzu, um die Berechnung der Ordnergröße zuzulassen, auch wenn du keine Leseberechtigung hast.

sudo du -sh /Pfad/zum/Verzeichnis

Beachte, dass du dazu aufgefordert wirst, dein Passwort einzugeben.

Ändern der Berechtigungen

Wenn du die Berechtigungen des Verzeichnisses dauerhaft ändern möchtest, kannst du den Befehl chmod verwenden. Füge die folgenden Berechtigungen hinzu, um dir selbst Leseberechtigung zu geben:

chmod u+r /Pfad/zum/Verzeichnis

Verwendung von 'find' und 'xargs'

Eine weitere Möglichkeit, Berechtigungsprobleme zu umgehen, besteht darin, die Befehle find und xargs zu verwenden. find sucht nach Verzeichnissen und Dateien und xargs gibt die Ergebnisse an du weiter. Auf diese Weise kannst du die Ordnergröße auch für Verzeichnisse berechnen, auf die du normalerweise keinen Zugriff hast.

find /Pfad/zum/Verzeichnis -type d | xargs du -sh

Berechnungen als Root durchführen

Wenn alle anderen Methoden fehlschlagen, kannst du dich als Root-Benutzer anmelden und die Berechnungen durchführen. Dazu musst du jedoch über administrative Zugriffsrechte auf das System verfügen.

Vergleiche der Ordnergröße

Berechnung des Größenunterschieds

Manchmal musst du den Größenunterschied zwischen zwei oder mehr Ordnern ermitteln. Hierfür kannst du den Befehl du mit der Option -s verwenden:

du -s ordner1 ordner2 ordner3

Diese Ausgabe enthält eine Zeile für jeden angegebenen Ordner sowie eine Summenzeile, die die Gesamtgröße aller Ordner anzeigt. Der Größenunterschied zwischen zwei Ordnern kann durch Subtraktion ihrer jeweiligen Größen berechnet werden.

Größenvergleiche mit Vergleichsoperatoren

Alternativ kannst du den du-Befehl mit Vergleichsoperatoren verwenden, um Größenvergleiche durchzuführen. Die folgenden Operatoren sind verfügbar:

  • -lt: Weniger als
  • -le: Kleiner oder gleich
  • -gt: Größer als
  • -ge: Größer oder gleich
  • -eq: Gleich
  • -ne: Ungleich

Beispielsweise kannst du den folgenden Befehl verwenden, um zu bestimmen, welcher Ordner größer ist:

du -s ordner1 | awk '$1 > 1000000'

Dieser Befehl gibt den Namen des Ordners aus, dessen Größe größer als 1 MB ist.

Visualisierung der Größenunterschiede

Um die Größenunterschiede zwischen Ordnern visuell darzustellen, kannst du Tools wie DiskUsage oder Baobab verwenden. Diese Tools erstellen Kreisdiagramme oder Baumansichten, die die Größenverhältnisse der Ordner anzeigen.

Anzeige der Größe mehrerer Ordner

Wenn du die Größe mehrerer Ordner gleichzeitig ermitteln möchtest, bietet der Befehl du mehrere Optionen.

Zusammenfassung mit du -s

Die Option -s fasst die Größen mehrerer Ordner zusammen und gibt die Gesamtsumme aus. Beispiel:

du -s Ordner1 Ordner2 Ordner3

Die Ausgabe könnte folgendermaßen aussehen:

4096    Ordner1
8192    Ordner2
12288   Ordner3
24576   Gesamt

Auflistung der Ordnergrößen mit du -a

Wenn du eine detaillierte Auflistung der einzelnen Ordnergrößen benötigst, verwende die Option -a. Beispiel:

du -a Ordner1 Ordner2 Ordner3

Die Ausgabe könnte folgendermaßen aussehen:

4096    Ordner1/Datei1
2048    Ordner1/Datei2
8192    Ordner2/Datei3
4096    Ordner2/Datei4
12288   Ordner3/Datei5
24576   Gesamt

Sortierung der Ordnergrößen

Du kannst die Ausgaben sortieren, um die größten Ordner schnell zu identifizieren. Beispiel:

du -sk Ordner1 Ordner2 Ordner3 | sort -nr

Die Ausgabe könnte folgendermaßen aussehen:

12288   Ordner3
8192    Ordner2
4096    Ordner1

Vergleich der Ordnergrößen

Mit der Option -c kannst du die Größen mehrerer Ordner vergleichen und mögliche Größenunterschiede hervorheben. Beispiel:

du -c Ordner1 Ordner2 Ordner3

Die Ausgabe könnte folgendermaßen aussehen:

4096    Ordner1
8192    Ordner2
12288   Ordner3
insgesamt 24576

Alternative Tools zur Größenberechnung

Neben den im vorherigen Abschnitt besprochenen Befehlen stehen dir auch alternative Tools zur Größenberechnung zur Verfügung.

Ncdu

Ncdu ist ein Ncurses-basiertes Tool, das eine interaktive Benutzeroberfläche bietet. Du kannst Ordner durchsuchen, Größenberechnungen durchführen und Dateien sortieren.

sudo apt install ncdu
ncdu

Gdu

Gdu ist ein grafisches Tool, das eine intuitive Oberfläche bietet. Du kannst Ordner visuell erkunden, Größenberechnungen durchführen und Dateien löschen.

sudo apt install gdu
gdu

DiskUsage

DiskUsage ist ein Python-basiertes Tool, das eine detaillierte grafische Darstellung der Ordnergrößen bietet. Du kannst die Ergebnisse in HTML, XML oder JSON exportieren.

sudo pip install diskusage
diskusage

Krusader

Krusader ist ein Dateimanager mit integrierter Größenberechnungsfunktion. Dies ist praktisch, wenn du die Ordnergröße während der Navigation durch dein System berechnen möchtest.

sudo apt install krusader

Baobab

Baobab ist ein Tool, das die Ordnergrößen visuell in einem Baumdiagramm darstellt. Dies ist hilfreich, um die Speicherbelegung auf einen Blick zu verstehen.

sudo apt install baobab

Diese alternativen Tools bieten verschiedene Optionen und Schnittstellen, je nach deinen spezifischen Anforderungen. Probiere sie aus und wähle das Tool, das deinen Bedürfnissen am besten entspricht.

Visualisierung der Ordnergröße

Neben der Anzeige der Ordnergröße in numerischen Werten kannst du auch visuelle Darstellungen verwenden, um die Größe und Verteilung deiner Daten besser zu verstehen.

Diagramme und Grafiken

Du kannst Diagramm- und Grafiktools wie TreeSize Free oder ncdu verwenden, um visuelle Darstellungen der Ordnergröße zu erstellen. Diese Tools erstellen Baumdiagramme, Kreisdiagramme oder Balkendiagramme, die dir einen Überblick über die größten Verzeichnisse und Dateien geben.

Heatmaps

Heatmaps bieten eine weitere Möglichkeit, die Ordnergröße visuell darzustellen. Tools wie Diskonaut erstellen Heatmaps, die jeden Ordner und jede Datei als farbiges Quadrat darstellen. Die Farbe jedes Quadrats repräsentiert die Größe des Objekts, wobei hellere Farben kleinere Objekte und dunklere Farben größere Objekte anzeigen. Diese Darstellung hilft dir, schnell die größten Ordner und Dateien zu identifizieren.

Dateiverwaltungstools

Einige Dateiverwaltungstools wie Nautilus und Dolphin bieten auch visuelle Darstellungen der Ordnergröße. Sie fügen farbcodierte Balken oder Diagramme neben den Verzeichnissen hinzu, sodass du auf einen Blick die Größe jedes Ordners erkennen kannst.

Folge uns

Neue Posts

Beliebte Posts