Sortieren von Dateien nach Größe in Linux

Niraj Menon 30 Januar 2023
  1. Finden der größten und kleinsten Dateien in einem Verzeichnis unter Linux
  2. Ermitteln der Größe aller Verzeichnisse in Linux
  3. Dateien finden, die größer als eine bestimmte Größe in Linux sind
  4. Anzeigen der Festplattennutzung in Linux
Sortieren von Dateien nach Größe 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

Verwandter Artikel - Linux File