So zeigen Sie den freien Speicherplatz und die Festplattennutzung über das Linux-Terminal an

Die Befehle df und du sind mächtige Werkzeuge in der Bash-Shell, die auf Linux, macOS und vielen anderen Unix-artigen Systemen verwendet wird. Sie ermöglichen es Nutzern, die Speichernutzung des Systems zu untersuchen und zu analysieren.

Gesamten, verfügbaren und genutzten Speicherplatz anzeigen

Die Bash bietet zwei essenzielle Befehle, um die Speicherauslastung zu ermitteln. Mit df (Disk Filesystems oder auch Disk Free) kann man den verfügbaren und belegten Speicherplatz anzeigen lassen. Der Befehl du (Disk Usage) hingegen zeigt an, welche Dateien und Verzeichnisse den Speicherplatz beanspruchen.

Starten Sie mit df in einem Bash-Terminal, indem Sie den Befehl eintippen und die Eingabetaste drücken. Die Ausgabe zeigt Informationen über alle eingehängten Dateisysteme. Die Ausgabe mag auf den ersten Blick komplex erscheinen, ist aber leicht zu interpretieren.

df

Jede Zeile in der Ausgabe ist in sechs Spalten unterteilt:

Dateisystem: Der Name des Dateisystems.
1K-Blöcke: Die Gesamtanzahl der 1K-Blöcke in diesem Dateisystem.
Verwendet: Die Anzahl der 1K-Blöcke, die belegt sind.
Verfügbar: Die Anzahl der freien 1K-Blöcke.
Use%: Der prozentuale Anteil des belegten Speicherplatzes.
Datei: Der Dateisystemname (wenn in der Befehlszeile angegeben).
Eingehängt am: Der Einhängepunkt des Dateisystems.

Die Ausgabe in 1K-Blöcken ist nicht immer ideal. Die Option -B (Blockgröße) erlaubt es, die Ausgabe in benutzerfreundlicheren Einheiten anzuzeigen. Nach -B folgt ein Buchstabe (K, M, G, T, P, E, Z oder Y), der die Größe der Einheit (Kilo, Mega, Giga, Tera, Peta, Exa, Zeta oder Yotta) definiert.

Um die Speicherangaben in Megabyte anzuzeigen, nutzen Sie folgenden Befehl. Beachten Sie, dass kein Leerzeichen zwischen B und M gesetzt wird.

df -BM

Die Option -h (human-readable) sorgt für eine automatische Auswahl der am besten passenden Einheit für jedes Dateisystem. So werden Größen in Kilobyte, Megabyte oder Gigabyte angezeigt.

df -h

Für die Anzeige der Informationen in Form von Inodes, verwenden Sie die Option -i (Inodes). Ein Inode ist eine Datenstruktur, die in Linux-Dateisystemen verwendet wird, um Dateien und ihre Metadaten zu beschreiben (z.B. Name, Änderungsdatum, Speicherort). Diese Option ist vor allem für Systemadministratoren relevant.

df -i

Standardmäßig liefert df Informationen zu allen eingebundenen Dateisystemen. Das kann zu einer unübersichtlichen Ausgabe führen. Einträge wie /dev/loop sind Pseudo-Dateisysteme, die verwendet werden, um Dateien als Partitionen einzuhängen. Diese werden häufig bei der Installation von Anwendungen über das Snap-System genutzt. Da sie keinen relevanten Speicherplatz beanspruchen, können diese ausgeschlossen werden.

Dateisysteme eines bestimmten Typs können durch die Option -x ausgeschlossen werden. Zuerst muss der Typ des Dateisystems ermittelt werden. Die Option -T (Drucktyp) fügt den Typ der Dateisysteme in der Ausgabe hinzu.

df -T

Die /dev/loop Einträge sind meist squashfs Dateisysteme. Um diese auszuschließen, kann folgender Befehl genutzt werden:

df -x squashfs

Die Option --total fügt eine Zeile hinzu, die die Summe des verwendeten Speicherplatzes ausweist.

df -x squashfs --total

Mit der Option -t (Typ) können nur Dateisysteme eines bestimmten Typs angezeigt werden.

df -t ext4

Wenn Sie die Größen für eine Reihe von Dateisystemen anzeigen möchten, geben Sie diese durch den Namen an. In Linux sind Laufwerksnamen alphabetisch: das erste Laufwerk ist /dev/sda, das zweite /dev/sdb usw. Partitionen werden numerisch gekennzeichnet. So ist /dev/sda1 die erste Partition auf /dev/sda. Geben Sie den Dateisystemnamen als Parameter an, um detaillierte Informationen dazu zu erhalten. Betrachten wir die erste Partition der ersten Festplatte:

df /dev/sda1

Platzhalter können im Dateisystemnamen verwendet werden: * für beliebige Zeichenketten und ? für ein einzelnes Zeichen. Um alle Partitionen auf dem ersten Laufwerk anzuzeigen, verwenden Sie:

df /dev/sda*

Es ist auch möglich, Informationen zu mehreren Dateisystemen gleichzeitig abzurufen. Im folgenden Beispiel werden die Größen der Dateisysteme /dev und /run, sowie eine Gesamtsumme angezeigt:

df -h --total /dev /run

Die Ausgabe kann durch die Option --output weiter verfeinert werden. Sie erlaubt es, die angezeigten Spalten zu bestimmen. Eine durch Kommas getrennte Liste von Spaltennamen bestimmt die gewünschte Ausgabe. Achten Sie darauf, keine Leerzeichen in der Liste zu verwenden.

source: Der Name des Dateisystems.
fstype: Der Typ des Dateisystems.
itotal: Die Gesamtzahl der Inodes.
iused: Die Anzahl der verwendeten Inodes.
iavail: Die Anzahl der verfügbaren Inodes.
ipcent: Der prozentuale Anteil der verwendeten Inodes.
size: Die Größe des Dateisystems (Standard: 1K-Blöcke).
used: Der verwendete Speicherplatz (Standard: 1K-Blöcke).
avail: Der verfügbare Speicherplatz (Standard: 1K-Blöcke).
pcent: Der prozentuale Anteil des belegten Speicherplatzes (Standard: 1K-Blöcke).
file: Der Name des Dateisystems (wenn in der Befehlszeile angegeben).
target: Der Mountpunkt des Dateisystems.

Um beispielsweise Informationen zur ersten Partition der ersten Festplatte (/dev/sda1) mit benutzerfreundlichen Zahlen und den Spalten source, fstype, size, used, avail und pcent anzuzeigen, nutzen Sie den folgenden Befehl:

df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent

Lange Befehle können als Alias definiert werden. Sie können einen Alias dfc (für df custom) erstellen, indem Sie folgenden Befehl eingeben und die Eingabetaste drücken:

alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"

Durch Eingabe von dfc wird derselbe Befehl ausgeführt wie zuvor. Um diese Alias dauerhaft zu speichern, fügen Sie ihn in Ihre .bashrc oder .bash_aliases Datei ein.

Falls Sie sich alle verfügbaren Informationen ausgeben lassen möchten, nutzen Sie die Optionen -a (all) und --output. Die Option -a bewirkt, dass alle Dateisysteme eingeschlossen werden und die Option --output ohne Spaltenliste sorgt dafür, dass alle Spalten ausgegeben werden:

df -a --output

Die Ausgabe durch den Befehl less zu leiten, ist eine gute Möglichkeit, um die große Menge an Informationen zu durchsuchen:

df -a --output | less

Herausfinden, welche Dateien Speicherplatz verbrauchen

Nun betrachten wir, welche Ordner den meisten Speicherplatz beanspruchen. Wir beginnen mit einem df Befehl:

df -h -t ext4

Hier sehen wir, dass auf der ersten Partition (/dev/sda1) 78% des Speichers belegt sind. Der Befehl du gibt Aufschluss darüber, welche Ordner die meisten Daten beinhalten. Ohne Optionen zeigt du alle Verzeichnisse und Unterverzeichnisse unterhalb des aktuellen Verzeichnisses an. Von Ihrem Home-Verzeichnis aus, wäre diese Liste sehr lang.

du

Die Ausgabe ist sehr einfach aufgebaut: Jede Zeile zeigt die Größe und den Namen eines Verzeichnisses. Die Größenangabe erfolgt standardmäßig in 1K-Blöcken. Um eine andere Blockgröße zu verwenden, nutzen Sie die Option -B (Blockgröße). Analog zu df folgen auf -B die Buchstaben K, M, G, T, P, E, Z oder Y. Um die Ausgabe in 1M-Blöcken zu erhalten, verwenden Sie folgenden Befehl:

du -BM

Wie bei df, verfügt du auch über die Option -h (human-readable), welche die Blockgrößen automatisch anpasst, sodass diese besser lesbar sind.

du -h

Die Option -s (summarize) fasst die Größe eines Verzeichnisses zusammen, ohne die Details der Unterverzeichnisse anzuzeigen. Der folgende Befehl zeigt Informationen im Zusammenfassungsformat, in lesbaren Zahlen für alle Verzeichnisse unterhalb des aktuellen Arbeitsverzeichnisses:

du -h -s *

du -sm Pictures/* | sort -nr

Der „Pictures“ Ordner nimmt am meisten Speicherplatz ein. Die Ordner werden anhand der Größe sortiert, vom größten zum kleinsten.

Durch die Verfeinerung der Ausgaben von df und du, kann man einfach ermitteln, wie viel Festplattenspeicher belegt ist und was ihn beansprucht. Darauf basierend können Sie entscheiden, ob es notwendig ist, Daten auf andere Speichermedien zu verschieben, weitere Festplatten einzubauen oder redundante Daten zu löschen.

Diese Befehle bieten zahlreiche Optionen, die hier nicht alle beschrieben wurden. Eine vollständige Liste der Optionen für den df Befehl und für den du Befehl finden Sie in den Linux Man Pages.