GNU/Linux >> Znalost Linux >  >> Linux

Jak seřadit výstup Du podle velikosti?

Jak třídíte du -sh /dir/* podle velikosti? Četl jsem jeden web, který řekl použití | sort -n ale to evidentně není správné. Zde je příklad, který je špatný.

[~]# 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

Přijatá odpověď:

Pokud máte GNU coreutils (běžné ve většině distribucí Linuxu), můžete použít

du -sh -- * | sort -h

-h volba říká sort že vstup je ve formátu čitelném pro člověka (číslo s jednotkou; na základě 1024, takže 1023 je považováno za méně než 1 kB, což náhodou odpovídá tomu, co GNU du -h ano).

Tato funkce byla přidána do GNU Core Utilities 7.5 v srpnu 2009.

Poznámka:

Pokud používáte starší verzi Mac OSX, musíte nainstalovat coreutils pomocí brew install coreutils , poté použijte gsort jako náhrada sort .

Novější verze macOS (ověřeno na Mojave) podporují sort -h nativně.


Linux
  1. Jak vypsat nebo seřadit všechny soubory podle velikosti v Linuxu

  2. Seřadit výstup podle sloupce?

  3. Jak třídit soubor na místě

  1. tcpdump:jak získat grepable výstup?

  2. Interpretace dd Input/Output error

  3. Jak seřadit výstup ps podle času zahájení procesu?

  1. Jak uložit výstup příkazu do souboru v Linuxu

  2. Jak si zapamatovat Jak používat přesměrování?

  3. Jak vytvořit virtuální výstup v Pulseaudio?