Im Laufe der Zeit kann Ihr Laufwerk mit vielen unnötigen Dateien überladen werden, die viel Speicherplatz beanspruchen. Normalerweise haben Linux-Systeme aufgrund großer Protokoll- oder Sicherungsdateien keinen Speicherplatz mehr.
Dieses Tutorial erklärt, wie man die größten Dateien und Verzeichnisse in Linux-Systemen mit find
findet und du
Befehle.
Suchen Sie große Dateien mit find
Befehl #
Der find
command ist eines der mächtigsten Werkzeuge im Arsenal der Linux-Systemadministratoren. Sie können damit nach Dateien und Verzeichnissen anhand verschiedener Kriterien suchen, einschließlich der Dateigröße.
Um beispielsweise nach Dateien mit einer Größe von mehr als 100 MB im aktuellen Arbeitsverzeichnis zu suchen, würden Sie den folgenden Befehl ausführen:
sudo find . -xdev -type f -size +100M
Ersetzen Sie .
mit dem Pfad zu dem Verzeichnis, in dem Sie nach den größten Dateien suchen möchten. Die Ausgabe zeigt eine Liste von Dateien ohne zusätzliche Informationen.
/var/lib/libvirt/images/centos-7-desktop_default.img
/var/lib/libvirt/images/bionic64_default.img
/var/lib/libvirt/images/win10.qcow2
/var/lib/libvirt/images/debian-9_default.img
/var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
/var/lib/libvirt/images/centos-7_default.img
Der find
Der Befehl kann auch in Kombination mit anderen Tools wie ls
verwendet werden oder sort
Operationen an diesen Dateien auszuführen.
Im folgenden Beispiel übergeben wir die Ausgabe von find
Befehl an ls
die die Größe jeder gefundenen Datei ausgibt und diese Ausgabe dann an sort
weiterleitet Befehl, um es basierend auf der 5. Spalte zu sortieren, die die Dateigröße ist.
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
Die Ausgabe sieht in etwa so aus:
-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2
-rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img
-rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img
-rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
-rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img
-rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img
Wenn die Ausgabe viele Informationszeilen enthält, können Sie den head
verwenden Befehl, nur die ersten 10 Zeilen zu drucken:
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
Lassen Sie uns den Befehl aufschlüsseln:
find . -xdev -type f -size +100M -print
- nur nach Dateien suchen (-type f
) im aktuellen Arbeitsverzeichnis (.
), größer als 100 MB (-size +100M
), keine Verzeichnisse auf anderen Dateisystemen absteigen (-xdev
) und geben Sie den vollständigen Dateinamen auf der Standardausgabe aus, gefolgt von einer neuen Zeile (-print
).xargs ls -lh
- die Ausgabe vonfind
Der Befehl wird anxargs
geleitet was denls -lh
ausführt Befehl, der die Ausgabe in einem für Menschen lesbaren Format mit langen Listen ausgibt.sort -k5,5 -h -r
- Zeilen nach der 5. Spalte sortieren (-k5,5
), vergleichen Sie die Werte im menschenlesbaren Format (-h
) und das Ergebnis umkehren (-r
).head
:druckt nur die ersten 10 Zeilen der Piped-Ausgabe.
Der find
Der Befehl enthält viele leistungsstarke Optionen. Sie können beispielsweise nach großen Dateien suchen, die älter als x Tage sind, große Dateien mit einer bestimmten Erweiterung oder große Dateien, die einem bestimmten Benutzer gehören.
Suchen Sie große Dateien und Verzeichnisse mit dem du
Befehl #
Der du
Der Befehl wird verwendet, um die Dateiplatzbelegung abzuschätzen, und er ist besonders nützlich, um Verzeichnisse und Dateien zu finden, die viel Speicherplatz belegen.
Der folgende Befehl druckt die größten Dateien und Verzeichnisse:
du -ahx . | sort -rh | head -5
Die erste Spalte enthält die Größe der Datei und die zweite den Dateinamen:
55G .
24G ./.vagrant.d/boxes
24G ./.vagrant.d
13G ./Projects
5.2G ./.minikube
Erläuterung des Befehls:
du -ahx .
:Schätzen Sie die Speicherplatznutzung im aktuellen Arbeitsverzeichnis (.
), zählen sowohl Dateien als auch Verzeichnisse (a
), Druckgrößen in einem für Menschen lesbaren Format (h
) und Verzeichnisse auf anderen Dateisystemen überspringen (x
).sort -rh
:Zeilen sortieren, indem Werte im menschenlesbaren Format verglichen werden (-h
) und das Ergebnis umkehren (-r
).head -5
:gibt nur die ersten fünf Zeilen der Piped-Ausgabe aus.
Der du
Der Befehl hat viele andere Optionen, die verwendet werden können, um die Ausgabe der Speicherplatznutzung zu verfeinern.
Schlussfolgerung #
Wir haben Ihnen gezeigt, wie Sie mit find
die größten Dateien und Verzeichnisse finden und du
Befehle.
Nachdem Sie nun erfahren haben, wie Sie die größten Dateien auf Ihrem System finden, möchten Sie vielleicht unsere Anleitung zum Entfernen von Dateien und Verzeichnissen mit der Linux-Befehlszeile lesen.
Wenn Sie Fragen oder Anmerkungen haben, hinterlassen Sie bitte unten einen Kommentar.