Command-Line
你如何按大小對du輸出進行排序?
你如何
du -sh /dir/*
按大小排序?我讀過一個網站說使用| sort -n
,但這顯然是不對的。這是一個錯誤的例子。[~]# 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
如果你有 GNU coreutils(在大多數 Linux 發行版中很常見),你可以使用
du -sh -- * | sort -h
該
-h
選項告訴sort
輸入是人類可讀的格式(帶單位的數字;基於 1024,因此 1023 被認為小於 1K,這恰好與 GNUdu -h
所做的匹配)。此功能於 2009 年 8 月添加到 GNU Core Utilities 7.5 中。
筆記:
如果您使用的是舊版本的 Mac OSX,則需要安裝 coreutils 和
brew install coreutils
,然後gsort
作為sort
.較新版本的 macOS(在 Mojave 上驗證)本機支持
sort -h
。