Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie finde ich große Dateien unter Linux? (Codebeispiel)

Wie finde ich große Dateien unter Linux? (Codebeispiel)

青灯夜游
青灯夜游Original
2019-03-29 16:48:546208Durchsuche

Im Laufe der Zeit kann das Laufwerk mit unnötigen Dateien überfüllt sein, die viel Speicherplatz beanspruchen, was zu einem geringen Speicherplatz auf Ihrem Linux-Gerät führt. Wie finden Sie diese großen Dateien? Im folgenden Artikel erfahren Sie, wie Sie mit den Befehlen „find“ und „du“ die größten Dateien und Verzeichnisse unter Linux finden. Ich hoffe, dass er Ihnen weiterhilft.

Wie finde ich große Dateien unter Linux? (Codebeispiel)

Verwenden Sie den Suchbefehl, um große Dateien zu finden

Der Suchbefehl ist das beliebteste Tool in Die Tool-Bibliothek des Linux-Systemadministrators Eines der leistungsstärksten Tools. Es ermöglicht Benutzern die Suche nach Dateien und Verzeichnissen anhand verschiedener Kriterien, einschließlich der Dateigröße.

Wenn Sie beispielsweise nach Dateien suchen möchten, die größer als 100 MB sind, können Sie den folgenden Befehl im aktuellen Arbeitsverzeichnis verwenden:

sudo find . -xdev -type f -size +100M

Hinweis: Sie können „.“ durch ersetzen Das Verzeichnis, in dem Sie nach dem größten Dateipfad suchen möchten.

Die Ausgabe zeigt eine Liste der Dateien ohne weitere Informationen. Der

/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

find-Befehl kann auch in Verbindung mit anderen Tools wie ls oder sort verwendet werden, um Operationen an diesen Dateien durchzuführen.

Beispiel: Wir leiten die Ausgabe des Befehls „find“ an „ls“ weiter. „ls“ gibt die Größe jeder gefundenen Datei aus und leitet die Ausgabe dann an den Befehl „sort“ weiter, um sie basierend auf der Dateigröße in Spalte 5 zu sortieren .

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r

erreicht die folgende Ausgabe:

-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 Informationen enthält, können wir auch den Head-Befehl verwenden, um nur die ersten 10 Zeilen auszugeben:

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head

Lassen Sie uns den obigen Befehl zerlegen und verstehen:

1. Suchen Sie nach Dateien (-type f), die größer als 100 MB (-size+100 MB) sind, im aktuellen Arbeitsverzeichnis (.) , reduzieren Sie nicht das Verzeichnis anderer Dateisysteme auf (-xdev), geben Sie den vollständigen Dateinamen auf der Standardausgabe aus und umschließen Sie dann die Ausgabe (-print). find . -xdev -type f -size +100M -print

1,

: Verwenden Sie xargs, um den Befehl ls-lh auszuführen, der die Ausgabe in einem für Menschen lesbaren langen Listenformat anzeigt. xargs ls -lh

3,

: Zeilen nach Spalte 5 sortieren (-k5,5), mit dem für Menschen lesbaren Format vergleichen (-h) und das Ergebnis umkehren (-r). sort -k5,5 -h -r

4,

: Zeigt nur die ersten 10 Zeilen der Pipeline-Ausgabe an. head

Der Suchbefehl verfügt über viele leistungsstarke Optionen. Sie können beispielsweise nach großen Dateien suchen, die älter als x Tage sind, eine bestimmte Erweiterung haben oder einem bestimmten Benutzer gehören.

Verwenden Sie den Befehl du, um große Dateien und Verzeichnisse zu finden.

Der Befehl du wird zum Schätzen der Dateispeichernutzung verwendet und ist nützlich, um Verzeichnisse zu finden die viel Speicherplatz beanspruchen und Dateien sind besonders nützlich.

Verwenden Sie den folgenden Befehl, um die größten Dateien und Verzeichnisse auszugeben:

du -ahx . | sort -rh | head -5

Ausgabe:

55G.
24G./.vagrant.d/boxes
24G./.vagrant.d
13G./Projects
5.2G./.minikube

Befehlsbeschreibung:

1 .

: Schätzt die Speicherplatznutzung im aktuellen Arbeitsverzeichnis (.), zählt Dateien und Verzeichnisse gleichzeitig (a), gibt die Größe in einem für Menschen lesbaren Format aus (h) und überspringt Verzeichnisse auf verschiedenen Dateisystemen (x). du -ahx .

2,

: Sortieren Sie Zeilen durch Vergleich in einem für Menschen lesbaren Format (-h) und kehren Sie das Ergebnis um (-r). sort -rh

3,

: Nur die ersten 5 Zeilen der Pipeline-Ausgabe ausgeben. head -5

Der Befehl du enthält zusätzliche Optionen, mit denen Sie die Ausgabe der Speicherplatznutzung optimieren können.

Empfohlene verwandte Video-Tutorials: „

Linux-Tutorial

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Lernen aller hilfreich sein wird. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWie finde ich große Dateien unter Linux? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn