Heim > Artikel > Betrieb und Instandhaltung > Wie finde ich große Dateien unter Linux? (Codebeispiel)
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.
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
: 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
: 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
: Zeigt nur die ersten 10 Zeilen der Pipeline-Ausgabe an. head
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 -5Ausgabe:
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 .
: Sortieren Sie Zeilen durch Vergleich in einem für Menschen lesbaren Format (-h) und kehren Sie das Ergebnis um (-r). sort -rh
: Nur die ersten 5 Zeilen der Pipeline-Ausgabe ausgeben. head -5
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!