Wie sortieren Sie du -sh /dir/*
nach Größe? Ich habe eine Seite gelesen, auf der es heißt use | sort -n
aber das ist offensichtlich nicht richtig. Hier ist ein Beispiel, das falsch ist.
[~]# du -sh /var/* | sort -n
0 /var/mail
1.2M /var/www
1.8M /var/tmp
1.9G /var/named
2.9M /var/run
4.1G /var/log
8.0K /var/account
8.0K /var/crash
8.0K /var/cvs
8.0K /var/games
8.0K /var/local
8.0K /var/nis
8.0K /var/opt
8.0K /var/preserve
8.0K /var/racoon
12K /var/aquota.user
12K /var/portsentry
16K /var/ftp
16K /var/quota.user
20K /var/yp
24K /var/db
28K /var/empty
32K /var/lock
84K /var/profiles
224M /var/netenberg
235M /var/cpanel
245M /var/cache
620M /var/lib
748K /var/spool
Akzeptierte Antwort:
Wenn Sie GNU Coreutils haben (in den meisten Linux-Distributionen üblich), können Sie
verwendendu -sh -- * | sort -h
Das -h
Option sagt sort
dass die Eingabe das für Menschen lesbare Format ist (Zahl mit Einheit; 1024-basiert, sodass 1023 als kleiner als 1K betrachtet wird, was zufällig dem entspricht, was GNU du -h
tut).
Diese Funktion wurde im August 2009 zu GNU Core Utilities 7.5 hinzugefügt.
Hinweis:
Wenn Sie eine ältere Version von Mac OSX verwenden, müssen Sie Coreutils mit brew install coreutils
installieren , Verwenden Sie dann gsort
als Drop-in-Ersatz von sort
.
Neuere Versionen von macOS (verifiziert auf Mojave) unterstützen sort -h
nativ.