Sortieren von Dateien nach Größe in Linux
- Finden der größten und kleinsten Dateien in einem Verzeichnis unter Linux
- Ermitteln der Größe aller Verzeichnisse in Linux
- Dateien finden, die größer als eine bestimmte Größe in Linux sind
- Anzeigen der Festplattennutzung in Linux
Manchmal möchten Sie das System gründlich bereinigen, indem Sie unnötig große Dateien finden und löschen oder Dateien entfernen, die kleiner als eine vorgegebene Größe sind, z. B. Protokolle. Linux bietet verschiedene Dienstprogramme, die uns bei der Suche nach solchen Dateien helfen können, wenn sie zusammen verwendet werden.
In diesem Tutorial erfahren Sie, wie Sie find
für den täglichen Gebrauch verwenden, z. B. um die Dateien in einem Ordner anhand ihrer Größe zu finden.
Finden der größten und kleinsten Dateien in einem Verzeichnis unter Linux
Um die größten Dateien in einem bestimmten Ordner zu finden, können wir die Befehle du
und sort
verwenden.
user@linux:~$ ls -lh
-rw-r--r-- 1 user user 8.0M Jan 1 00:00 a
-rw-r--r-- 1 user user 4.0M Jan 1 00:00 b
-rw-r--r-- 1 user user 2.0M Jan 1 00:00 c
-rw-r--r-- 1 user user 1.0M Jan 1 00:00 d
user@linux:~$ du -h * | sort -h
1.0M d
2.0M c
4.0M b
8.0M a
Dadurch werden die Dateien in aufsteigender Reihenfolge ausgegeben, sodass die größte Datei im Verzeichnis am Ende der Programmausgabe steht, während die kleinste am Anfang steht.
Beachten Sie die Verwendung des Flags -h
- dies teilt den Befehlen mit, dass die Größen in der für Menschen lesbaren Form angegeben werden.
Ermitteln der Größe aller Verzeichnisse in Linux
Der folgende Befehl sucht und sortiert die Verzeichnisse in aufsteigender Reihenfolge der Größe in Ihrem Home-Verzeichnis.
user@linux:~$ sudo find /var/ -maxdepth 1 -type d -exec du -sh {} \; | sort -h
4.0K /var/local
4.0K /var/mail
4.0K /var/opt
56K /var/spool
60K /var/tmp
92K /var/snap
7.3M /var/backups
4.3G /var/log
4.4G /var/cache
17G /var/lib
25G /var/
Dateien finden, die größer als eine bestimmte Größe in Linux sind
Wenn Sie eine minimale oder maximale Größe für die gesuchten Dateien kennen, können Sie mit dem Befehl find
solche Dateien auflisten.
Angenommen, Sie möchten alle Dateien finden, die größer als 200 MB (200 MB) sind. Wir können dies mit dem folgenden Befehl tun, der zusätzlich die Größe jeder gefundenen Datei ausgibt. Wir verwenden sudo
, um in alle root-owned directories
abzusteigen.
Beachten Sie, dass die Ausgabe für Ihren Lauf unterschiedliche Dateien ergeben kann.
user@linux:/var$ sudo find . -type f -size +200M -exec ls -lh {} \;
-rw------- 2 root root 363M Jan 1 00:00 ./lib/snapd/snaps/qt513_24.snap
-rw------- 2 root root 363M Jan 1 00:00 ./lib/snapd/cache/cf177ca655544816bb73b6d8e89c83753b96548f105acd563c1bf1b7d0d046bd3e99a96db5bfe912f8a446a8e9d5b6c5
Anzeigen der Festplattennutzung in Linux
Der Linux-Befehl df
ermöglicht es uns, die gesamte Festplattennutzung auf jeder Partition Ihres Dateisystems zu sehen, was dabei hilft, Partitionen einzugrenzen, in denen der Speicherplatz überlastet ist. Wir führen Folgendes aus, um die Festplattennutzung zu ermitteln.
Auch dies kann je nach Festplattenkonfiguration sehr unterschiedlich sein. Die Einträge mit snap
werden als Loopback-Festplatten bezeichnet, bei denen es sich um virtuelle Festplatten handelt, auf denen Festplatten-Images gemountet werden, wie es das Snap-Dienstprogramm unter Ubuntu erfordert.
user@linux:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 2.1M 1.6G 1% /run
/dev/nvme0n1p6 200G 45G 146G 24% /
tmpfs 7.8G 397M 7.4G 5% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/nvme0n1p2 96M 36M 61M 37% /boot/efi
/dev/loop1 56M 56M 0 100% /snap/core18/2253
/dev/loop0 165M 165M 0 100% /snap/gnome-3-28-1804/161
/dev/loop2 512K 512K 0 100% /snap/gifex/3
/dev/loop3 66M 66M 0 100% /snap/gtk-common-themes/1519
/dev/loop4 128K 128K 0 100% /snap/bare/5
/dev/loop6 363M 363M 0 100% /snap/qt513/24
/dev/loop7 100M 100M 0 100% /snap/core/11993
/dev/sda7 1.1T 384G 677G 37% /home
tmpfs 1.6G 1.9M 1.6G 1% /run/user/1000
/dev/loop8 56M 56M 0 100% /snap/core18/2284