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
oderncdu
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 TiefeN
.
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.