GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Finden Sie große Dateien in Linux

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 von find Der Befehl wird an xargs geleitet was den ls -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.


Linux
  1. So finden Sie die zuletzt oder heute geänderten Dateien in Linux

  2. 5 Befehlszeilen-Tools zum schnellen Auffinden von Dateien unter Linux

  3. 25 Nützliche praktische Beispiele für find-Befehle unter Linux

  4. Finden Sie Dateien und Verzeichnisse in Linux wie ein Profi

  5. So finden Sie doppelte Dateien in Linux

So finden Sie Dateien anhand ihrer Berechtigungen in Linux

3 Möglichkeiten, Dateien und Verzeichnisse in Linux zu finden

So verschieben Sie eine große Anzahl von Dateien in Linux

So kopieren Sie eine große Anzahl von Dateien unter Linux

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Finden Sie Text in Dateien unter Linux mit grep