Hasib - stock.adobe.com
Speicherplatz unter Linux mit den Befehlen du und df verwalten
Mit den Befehlen du und df können Admins Speicher ihrer lokalen oder Cloud-basierten Server überprüfen und nachvollziehen, ob es sich um physische oder virtuelle Server handelt.
Kaum eine andere Herausforderung ist größer für Systemadministratoren als die effiziente Verwaltung von Speicherressourcen. Es scheint, als würden ständig Ressourcen und Aufmerksamkeit für die Verwaltung der Speicherkapazität aufgewendet, sei es für explodierende Log-Dateien, Caches von Paketmanagern, ungenutzte VM-Images oder Malware.
Es gibt viele Ansätze, die helfen können. Sie können beispielsweise Festplattenkontingente für Benutzer implementieren oder regelmäßig die Caches des Paketmanagers leeren, aber der erste Schritt besteht darin, den Übeltäter zu finden. Linux enthält zwei wichtige Tools, mit denen Sie Ihre Speicherprobleme untersuchen können: df und du.
Die Dienstprogramme df und du sind sicherlich nicht die einzigen Tools zur Informationsbeschaffung, die Linux für die Verwaltung von Speicherplatz enthält. Sie können auch die Befehle lsblk, fdisk, mount und cat /proc/partitions verwenden, um Festplatteninformationen anzuzeigen. Und Sie können natürlich beliebig viele dieser Befehle kombinieren, um umfassendere Daten zu erhalten. Für die Zwecke dieses Artikels reichen jedoch die Befehle df und du aus, um den Speicherplatz unter Linux zu verwalten.
Verfügbaren Speicherplatz mit df anzeigen
Verwenden Sie den Befehl df (disk free), um den verfügbaren Speicherplatz unter Linux anzuzeigen. Wenn Sie keine Argumente angeben, wird die freie Kapazität für alle gemounteten Dateisysteme angezeigt.
Das Erste, was den meisten Benutzern beim Ausführen von df auffällt, ist die umständliche Anzeige der Kapazitätseinheiten. Standardmäßig zeigt df den verfügbaren Speicherplatz in 1K-Blöcken an – kein besonders nützliches Ergebnis. Es zeigt diese Informationen für die gesamte Speicherkapazität, die belegte Menge und die verfügbare Menge an.
Versuchen Sie stattdessen, df mit der Option -h auszuführen. Dieses Flag zeigt die Ergebnisse in einem besser lesbaren und verständlichen Format an. Mit anderen Worten, es verwendet je nach Speicherplatzmenge Standardinkremente wie KB, MB und GB. Diese Informationen sind viel einfacher zu verarbeiten.
Das ist nicht die einzige nützliche Option für df. Sie können auch die Option -T hinzufügen, um Dateisystemtypen in der Ausgabe anzuzeigen. Wenn Sie Inode-Informationen benötigen, fügen Sie die Option -i hinzu. Und -a zeigt alle Dateisysteme an, einschließlich derjenigen ohne verfügbaren Linux-Speicherplatz.
Der Befehl df ist ein hervorragendes Audit-Tool. Einige Systemadministratoren erstellen einfache Bash-Skripte, die regelmäßig Systeminformationen sammeln und an eine zentrale Quelle melden oder die Ergebnisse per E-Mail an den Administrator senden. Ein solches Auditing kann nützlich sein, und der Befehl df ist wahrscheinlich das erste Speicherberichterstellungs-Tool, das Sie einem solchen Skript hinzufügen.
Der Befehl df bietet einen effektiven, übergeordneten, systemweiten Überblick über die Kapazitätsinformationen des Dateisystems. Sie können auch bestimmte Partitionen auswählen, um den Umfang einzugrenzen.
Alias für den Befehl df
Bearbeiten Sie Ihre Datei ~/.bashrc mit einem Alias, der df an Ihre spezifischen Bedürfnisse anpasst. Das offensichtlichste Beispiel ist, dass df standardmäßig das für Menschen lesbare Format -h anzeigt.
Der grundlegende Alias sieht wie folgt aus.
alias df= 'df -h'
Die Ausgabe des Dateisystems -T kann jedoch ebenfalls nützlich sein. Dieser Alias sieht wie folgt aus.
alias df= 'df -hT'
Wenn Sie den Befehl df eingeben, werden die angegebenen Optionen automatisch hinzugefügt, was Ihnen Zeit spart und Ihnen umfassendere Informationen liefert. Beachten Sie, dass Sie die Datei nach der Bearbeitung möglicherweise neu laden müssen, indem Sie den Befehl source ~/.bashrc ausführen.
Anzeigen des tatsächlich belegten Linux-Speicherplatzes mit du
Was ist, wenn Ihre Untersuchung Sie tiefer in das Dateisystem führt? Vielleicht möchten Sie herausfinden, welches Benutzerverzeichnis so viel Speicherplatz belegt, oder Sie müssen wissen, welche Log-Datei im Verzeichnis /var/log außer Kontrolle geraten ist. Verwenden Sie den Befehl du, um Informationen zur Speicherauslastung auf Datei- und Verzeichnisebene zu erhalten.
Wie df zeigt auch die Standardausgabe von du Informationen in 1K-Blöcken an. Fügen Sie die gleiche Option -h hinzu, die Sie bei df verwendet haben, damit du logischere Größen anzeigt.
Der Befehl du liefert detaillierte Informationen auf Datei- und Verzeichnisebene. Verwenden Sie ihn, wenn Sie Speicherprobleme im Zusammenhang mit bestimmten Dateien oder Speicherorten untersuchen.
Wie bei anderen Linux-Befehlen gibt es auch bei du eine Vielzahl von Optionen, mit denen Sie die Ausgabe des Befehls anpassen können. Verwenden Sie das Flag -c, um die gesamte Speicherauslastung für die von Ihnen untersuchten Verzeichnisse anzuzeigen. Das Flag --total hat die gleiche Funktion.
Eine weitere hilfreiche Option ist -s, die die Ergebnisse für das Zielverzeichnis zusammenfasst, anstatt die Größen pro Datei anzuzeigen. Dies ist ein guter Trick, um allgemeine Speicherinformationen zu sammeln.
So sortieren Sie die Ergebnisse
Der Befehl du verfügt über keine eigene Sortierfunktion. Sie können die Ergebnisse jedoch mit anderen Befehlen in einer Liste von groß nach klein oder von klein nach groß ordnen. Verwenden Sie das Pipe-Zeichen (|), um die Ausgabe des Befehls du in den Befehl sort umzuleiten.
Verwenden Sie die Option -hr mit sort, um die Ergebnisse von der größten zur kleinsten Datei anzuzeigen. Wenn Sie es ausgefallener mögen, leiten Sie das Ergebnis in den Befehl head -n 5 um, um eine Liste der fünf größten Dateien oder Verzeichnisse in der sortierten Ausgabe zu erhalten.
Der endgültige Befehl sieht wie folgt aus.
du -h /var/log | sort -hr | head -n 5
Alias für den Befehl du
Der Befehl du ist ein weiterer guter Kandidat für einen Alias. Sie werden mit ziemlicher Sicherheit die Option -h hinzufügen wollen, und Sie sollten auch die Verwendung der Option -c (total) in Betracht ziehen. Sie können jederzeit einen zweiten Alias erstellen, der die Sortierung und die Liste der fünf größten Dateien übernimmt.
Der grundlegende Ausgabecode mit einem einfach lesbaren Format und einer Gesamtsumme sieht wie folgt aus.
alias du= 'du -ch'
Erstellen Sie ähnliche Ergebnisse, sortiert nach den fünf größten Ergebnissen und verknüpft mit dem Befehl du5, wie folgt.
alias du5= 'du -h | sort -hr | head -n 5'
Fügen Sie diese zusammen mit dem oben erstellten df-Befehlsalias in Ihre ~/.bashrc-Datei ein. Vergessen Sie nicht, source ~/.bashrc auszuführen.
Weitere Optionen
Die Befehle df und du funktionieren auf physischen und virtuellen Servern, unabhängig davon, ob diese vor Ort oder in der Cloud gehostet werden. Da die Überprüfung der Speicherkapazität eines Systems eine wichtige Aufgabe ist, werden Sie diese Befehle möglicherweise häufig verwenden.
Beide Befehle sind auch bei der Fehlerbehebung sehr nützlich. Denken Sie daran, sie mit anderen Tools zu kombinieren, um den Umfang der Systemprobleme einzugrenzen. Sie können Tools wie top für allgemeine Leistungsinformationen, free und vmstat für die Speichernutzung sowie ps und lsof zum Verständnis der laufenden Prozesse verwenden.
Beginnen Sie noch heute mit den Befehlen df und du zu experimentieren. Sobald Sie mit den bereitgestellten Informationen vertraut sind, erstellen Sie Aliase für jeden Befehl, die die Ergebnisse zumindest in einem einfach lesbaren Format anzeigen. Von dort aus können Sie sie in ein größeres Server-Audit-Skript integrieren. Achten Sie darauf, sie auch in Ihre regelmäßige Fehlerbehebungsroutine einzubinden.