Wie man freien Speicherplatz und Festplattennutzung vom Linux-Terminal aus anzeigt
- Dave McKay
@TheGurkha
- April 2, 2019, 8:00 Uhr EDT
Die Befehle df
und du
geben Auskunft über die Festplattennutzung aus der Bash-Shell heraus, die auf Linux, macOS und vielen anderen Unix-ähnlichen Betriebssystemen verwendet wird. Mit diesen Befehlen können Sie leicht herausfinden, was den Speicherplatz Ihres Systems verbraucht.
Anzeigen des gesamten, verfügbaren und verwendeten Festplattenplatzes
Die Bash enthält zwei nützliche Befehle, die sich auf den Festplattenplatz beziehen. Um den verfügbaren und belegten Plattenplatz herauszufinden, verwenden Sie df
(Platten-Dateisysteme, manchmal auch „disk free“ genannt). Um herauszufinden, was den belegten Speicherplatz belegt, verwenden Sie du
(Festplattennutzung).
Geben Sie df
ein und drücken Sie die Eingabetaste in einem Bash-Terminalfenster, um zu beginnen. Sie werden eine Ausgabe ähnlich dem untenstehenden Screenshot sehen. Wenn Sie df
ohne jegliche Optionen verwenden, wird der verfügbare und belegte Speicherplatz für alle eingehängten Dateisysteme angezeigt. Auf den ersten Blick mag es undurchschaubar aussehen, aber es ist recht einfach zu verstehen.
df
Jede Zeile der Anzeige besteht aus sechs Spalten.
- Dateisystem: Der Name dieses Dateisystems.
- 1K-Blöcke: Die Anzahl der 1K-Blöcke, die auf diesem Dateisystem verfügbar sind.
- Benutzt: Die Anzahl der 1K-Blöcke, die auf diesem Dateisystem verwendet wurden.
- Verfügbar: Die Anzahl der 1K-Blöcke, die auf diesem Dateisystem unbenutzt sind.
- Verwendet%: Der belegte Speicherplatz in diesem Dateisystem, angegeben in Prozent.
- Datei: Der Name des Dateisystems, falls in der Befehlszeile angegeben.
- Eingebunden in: Der Einhängepunkt des Dateisystems.
Sie können die 1K-Blockzählung durch eine nützlichere Ausgabe ersetzen, indem Sie die Option -B
(Blockgröße) verwenden. Um diese Option zu verwenden, geben Sie df,
ein Leerzeichen und dann -B
und einen Buchstaben aus der Liste von K, M, G, T, P, E, Z oder Y ein. Diese Buchstaben stehen für die Werte kilo, mega, giga, tera, peta, exa, zeta und yotta aus der Skala Vielfaches von 1024.
Um zum Beispiel die Festplattennutzung in Megabyte zu sehen, würden Sie den folgenden Befehl verwenden. Beachten Sie, dass zwischen dem B und dem M kein Leerzeichen steht.
df -BM
Die Option -h
(menschenlesbar) weist df
an, die zutreffendste Einheit für die Größe der einzelnen Dateisysteme zu verwenden. Beachten Sie in der nächsten Ausgabe, dass es Dateisysteme mit Gigabyte-, Megabyte- und sogar Kilobyte-Größen gibt.
df -h
Wenn Sie die Informationen in Zahlen von Inodes dargestellt haben wollen, verwenden Sie die Option -i
(Inodes). Ein Inode ist eine Datenstruktur, die von Linux-Dateisystemen verwendet wird, um Dateien zu beschreiben und um Metadaten über sie zu speichern. Unter Linux enthalten Inodes Daten wie den Namen, das Änderungsdatum, die Position auf der Festplatte und so weiter für jede Datei und jedes Verzeichnis. Für die meisten Leute wird das nicht nützlich sein, aber Systemadministratoren müssen manchmal auf diese Art von Informationen zurückgreifen.
df -i
Sofern nicht anders gewünscht, liefert df
Informationen über alle eingehängten Dateisysteme. Dies kann zu einer unübersichtlichen Anzeige mit vielen Ausgaben führen. Die /dev/loop
-Einträge in den Listen sind zum Beispiel Pseudo-Dateisysteme, die es erlauben, eine Datei so einzuhängen, als wäre sie eine Partition. Wenn Sie die neue Ubuntu snap
-Methode zum Installieren von Anwendungen verwenden, können Sie eine Menge davon erwerben. Der verfügbare Platz auf diesen wird immer 0 sein, weil sie nicht wirklich ein Dateisystem sind, also brauchen wir sie nicht zu sehen.
Wir können df
sagen, dass wir Dateisysteme eines bestimmten Typs ausschließen sollen. Dazu müssen wir wissen, welchen Typ von Dateisystem wir ausschließen wollen. Die Option -T
(print-type) gibt uns diese Information. Sie weist df
an, den Typ des Dateisystems in die Ausgabe aufzunehmen.
df -T
Die /dev/loop
-Einträge sind alle squashfs
-Dateisysteme. Wir können sie mit dem folgenden Befehl ausschließen:
df -x squashfs
Damit erhalten wir eine überschaubarere Ausgabe. Um eine Summe zu erhalten, können wir die Option --total
hinzufügen.
df -x squashfs --total
Wir können df
bitten, nur Dateisysteme eines bestimmten Typs einzuschließen, indem wir die Option -t
(Typ) verwenden.
df -t ext4
Wenn wir die Größen für eine Gruppe von Dateisystemen sehen wollen, können wir sie nach Namen angeben. Laufwerksnamen sind in Linux alphabetisch geordnet. Das erste Laufwerk heißt /dev/sda
, das zweite Laufwerk /dev/sdb
, und so weiter. Partitionen werden nummeriert. Also ist /dev/sda1
die erste Partition auf Laufwerk /dev/sda
. Wir sagen df
, dass es Informationen zu einem bestimmten Dateisystem zurückgeben soll, indem wir den Namen des Dateisystems als Befehlsparameter übergeben. Schauen wir uns die erste Partition der ersten Festplatte an.
df /dev/sda1
Beachten Sie, dass Sie Platzhalter im Dateisystemnamen verwenden können, wobei *
für eine beliebige Menge von Zeichen und ?
für ein einzelnes Zeichen steht. Um also alle Partitionen auf dem ersten Laufwerk zu betrachten, könnten wir verwenden:
df /dev/sda*
Wir können df
bitten, über eine Menge von benannten Dateisystemen zu berichten. In diesem Fall fragen wir die Größen der /dev
und /run
Dateisysteme ab und möchten eine Gesamtsumme erhalten.
df -h --total /dev /run
Um die Anzeige weiter anzupassen, können wir df
mitteilen, welche Spalten enthalten sein sollen. Verwenden Sie dazu die Option --output
und geben Sie eine kommagetrennte Liste mit den gewünschten Spaltennamen an. Achten Sie darauf, keine Leerzeichen in die kommagetrennte Liste aufzunehmen.
- Quelle: Der Name des Dateisystems.
- fstype: Der Typ des Dateisystems.
- itotal: Die Größe des Dateisystems in Inodes.
- iused: Der belegte Platz auf dem Dateisystem in Inodes.
- iavail: Der verfügbare Speicherplatz auf dem Dateisystem in Inodes.
- ipcent: Der genutzte Speicherplatz auf dem Dateisystem in Inodes, in Prozent.
- size: Die Größe des Dateisystems, standardmäßig in 1K-Blöcken.
- used: Der belegte Platz im Dateisystem, standardmäßig in 1K-Blöcken.
- avail: Der verfügbare Speicherplatz auf dem Dateisystem, standardmäßig in 1K-Blöcken.
- pcent: Der Prozentsatz des belegten Platzes auf dem Dateisystem in Inodes, standardmäßig in 1K-Blöcken.
- file: Der Name des Dateisystems, falls in der Befehlszeile angegeben.
- target: Der Einhängepunkt für das Dateisystem.
Lassen Sie uns df
bitten, über die erste Partition auf dem ersten Laufwerk zu berichten, mit menschenlesbaren Zahlen und mit den Spalten source, fstype, size, used, avail und pcent:
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
Lange Befehle sind perfekte Kandidaten, um in einen Alias verwandelt zu werden. Wir können einen Alias dfc
(für df custom
) erstellen, indem wir das Folgende eingeben und die Eingabetaste drücken:
alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
Die Eingabe von dfc
und das Drücken der Eingabetaste hat den gleichen Effekt wie die Eingabe des langen Befehls. Um diesen Alias dauerhaft zu machen, fügen Sie ihn zu Ihrer .
oder bashrc
.bash_aliases
Datei hinzu.
Wir haben uns Möglichkeiten angesehen, die Ausgabe von df
zu verfeinern, damit die angezeigten Informationen Ihren Anforderungen entsprechen. Wenn Sie den umgekehrten Weg gehen und df
alle möglichen Informationen zurückgeben lassen wollen, verwenden Sie die Option -a
(alle) und die Option --output
wie unten gezeigt. Die Option -a
(all) fordert df
auf, jedes Dateisystem einzuschließen, und die Verwendung der Option --output
ohne kommagetrennte Liste von Spalten bewirkt, dass df
jede Spalte einschließt.
df -a --output
Die Ausgabe von df
durch den less
-Befehl zu leiten, ist eine bequeme Methode, um die große Menge an Ausgabe zu überprüfen, die dies erzeugen kann.
df -a --output | less
Finden Sie heraus, was den verbrauchten Speicherplatz belegt
Lassen Sie uns ein wenig nachforschen und herausfinden, was auf diesem PC Speicherplatz beansprucht. Wir beginnen mit einem unserer df
Befehle.
df -h -t ext4
Auf der ersten Partition der ersten Festplatte sind 78% des Speicherplatzes belegt. Wir können den du
-Befehl verwenden, um zu zeigen, welche Ordner die meisten Daten enthalten. Wenn Sie den Befehl du
ohne Optionen aufrufen, wird eine Liste aller Verzeichnisse und Unterverzeichnisse unterhalb des Verzeichnisses angezeigt, in dem der Befehl du
aufgerufen wurde. Wenn Sie dies von Ihrem Home-Ordner aus tun, wird die Liste sehr lang sein.
du
Das Ausgabeformat ist sehr einfach. Jede Zeile zeigt die Größe und den Namen eines Verzeichnisses an. Standardmäßig wird die Größe in 1K-Blöcken angezeigt. Um du
zu erzwingen, dass eine andere Blockgröße verwendet wird, verwenden Sie die Option -B
(Blockgröße). Um diese Option zu verwenden, geben Sie du
, ein Leerzeichen und dann -B
und einen Buchstaben aus der Liste von K, M, G, T, P, E, Z und Y ein, wie wir es oben für df
getan haben. Um 1M-Blöcke zu verwenden, verwenden Sie diesen Befehl:
du -BM
Genauso wie df
hat du
eine für Menschen lesbare Option, -h
, die eine Reihe von Blockgrößen entsprechend der Größe des jeweiligen Verzeichnisses verwendet.
du -h
Die Option -s
(zusammenfassen) gibt eine Gesamtsumme für jedes Verzeichnis aus, ohne die Unterverzeichnisse innerhalb jedes Verzeichnisses anzuzeigen. Der folgende Befehl bittet du
darum, Informationen in zusammenfassender Form, in menschenlesbaren Zahlen, für alle Verzeichnisse (*) unterhalb des aktuellen Arbeitsverzeichnisses zurückzugeben.
du -h -s *
Der Ordner „Bild“ enthält mit Abstand die meisten Daten. Wir können du
bitten, die Ordner nach Größe vom größten zum kleinsten zu sortieren.
du -sm Pictures/* | sort -nr
Durch Verfeinerung der Informationen, die von df
und du
zurückgegeben werden, ist es einfach herauszufinden, wie viel Speicherplatz auf der Festplatte belegt ist und was diesen Platz beansprucht. Sie können dann eine fundierte Entscheidung darüber treffen, ob Sie einige Daten auf einen anderen Speicherplatz verschieben, eine weitere Festplatte zu Ihrem Computer hinzufügen oder überflüssige Daten löschen wollen.
Diese Befehle haben eine Menge Optionen. Wir haben hier die nützlichsten Optionen beschrieben, aber Sie können eine vollständige Auflistung der Optionen für den df-Befehl und für den du-Befehl in den Linux-Manpages sehen.
Dave McKay hat zum ersten Mal Computer benutzt, als Lochstreifen in Mode waren, und seitdem programmiert er immer noch. Nach über 30 Jahren in der IT-Branche arbeitet er jetzt hauptberuflich als Technologie-Journalist. Während seiner Karriere arbeitete er als freiberuflicher Programmierer, Manager eines internationalen Software-Entwicklungsteams, Projektmanager für IT-Services und zuletzt als Datenschutzbeauftragter. Dave ist ein Linux-Evangelist und Open-Source-Befürworter.Read Full Bio“