Für einen Systemadministrator oder Entwickler ist es wichtig zu wissen, wie viel Speicherplatz eine Datei oder ein Ordner auf einer Partition belegt. Mit diesem Wissen können Sie Speicher-Upgrades planen, Dateien verwalten und rotieren und andere notwendige Systemadministratoraufgaben erledigen. Mein Lieblingsbefehl für diese Art der Datenerfassung ist du
Befehl.
Der du
Der Befehl fasst die Festplattennutzung jeder Datei und rekursiv für jedes Verzeichnis zusammen. Es bietet viele hilfreiche Optionen einzeln oder in den richtigen Kombinationen. Alle Optionen finden Sie auf der man-Seite von du. Hier ist einer meiner Lieblingstricks mit du
.
Benutze du
Normalerweise überprüfe ich gerne die Nutzung mehrerer Verzeichnisse gleichzeitig. Auf diese Weise weiß ich, welche Verzeichnisse meine größten Übeltäter sind. Angenommen, ich möchte alle Verzeichnisse in /var
überprüfen . Hier ist mein Standard-du
Befehl, mit langen Optionen zur Verdeutlichung:
$ du --all --human-readable \
--one-file-system \
--max-depth=1 /var
Hier ist eine Aufschlüsselung jeder Option (mit der Kurzversion in Klammern):
-
--all
(-a
):Alle Dateien und Ordner drucken. --human-readable
(-h
):Größe in großen Stücken statt in Bytes drucken (z. B. 1 KB statt 1024).--one-file-system
(-x
):Verzeichnisse auf verschiedenen Dateisystemen überspringen. Das Ergebnis ist, dass wenn/var/log
separat gemountet wird, wird es nicht gezählt, da es sich auf einem separaten Dateisystem befindet. Dadurch wird sichergestellt, dass ich den verwendeten Speicherplatz nur unter einem Verzeichnispfad und nicht über physische Medien hinweg sehe.--max-depth=1
(-d
):Gibt die Gesamtsumme für ein Verzeichnis (oder eine Datei, mit--all
) aus ) nur wenn es sich in diesem Fall eine Ebene unter/var
befindet . Wenn Sie2
verwenden stattdessen werden Ordner zwei Ebenen unterhalb von/var
gedruckt . Im Gegensatz zum--one-file-system
Option, die gemeldete Größe bleibt bei dieser Option gleich; Ich muss nur nicht so viel Output sehen.
Hier ist die Beispielausgabe von meinem üblichen du
Befehl:
$ du -ahx --max-depth=1 /var
0 /var/lock
0 /var/mail
0 /var/run
12K /var/kerberos
12K /var/sieve
135M /var/spool
1.6G /var/log
181M /var/cache
20K /var/db
336K /var/named
3.7G /var/vmail
4.0K /var/adm
4.0K /var/crash
4.0K /var/ftp
4.0K /var/games
4.0K /var/gopher
4.0K /var/local
4.0K /var/nis
4.0K /var/opt
4.0K /var/preserve
4.0K /var/.updated
4.0K /var/yp
4.2G /var/lib
44K /var/tmp
8.0K /var/empty
9.7G /var
Obwohl diese Ausgabe gut ist, wäre es noch besser, sie nach Kapazität zu sortieren. So ist es noch einfacher auf einen Blick zu lesen.
[ Sehen Sie sich 10 Tutorials an, um Ihre Kommandozeilenkenntnisse zu verbessern. ]
Der Trick:Ausgabe sortieren
Die gute Nachricht ist, dass ich die Ausgabe in jeder gewünschten Reihenfolge sortieren kann, indem ich sort -k1 -rh
übergebe als Eingang. Folgendes erhalte ich zum Beispiel, wenn ich einen Befehl ausführe, um die Ausgabe nach der ersten Spalte (Kapazität) zu sortieren:
$ du -ahx --max-depth=1 /var | sort -k1 -rh
9.7G /var
4.2G /var/lib
3.7G /var/vmail
1.6G /var/log
181M /var/cache
135M /var/spool
336K /var/named
44K /var/tmp
20K /var/db
12K /var/sieve
12K /var/kerberos
8.0K /var/empty
4.0K /var/yp
4.0K /var/.updated
4.0K /var/preserve
4.0K /var/opt
4.0K /var/nis
4.0K /var/local
4.0K /var/gopher
4.0K /var/games
4.0K /var/ftp
4.0K /var/crash
4.0K /var/adm
0 /var/run
0 /var/mail
0 /var/lock
Festplattennutzung überwachen
Es gibt auch grafische Tools zum Überprüfen des Speicherplatzes, wie z. B. ncdu
Befehl, aber für mich das du
Befehl ist einfach, direkt und effizient. Ich hoffe, dass dieser kurze Tipp Ihnen dabei hilft, Ihre Sysadmin-Grundlagen zu verbessern. Diese Optionen haben das Sammeln von Dateikapazitätsdaten für mich viel einfacher gemacht, und wenn sie als Alias in Ihre .bashrc eingegeben werden, wird es mir zur zweiten Natur.