我需要一个人类可读的du输出列表。
但是,du没有“按大小排序”的选项,sort的管道不能使用人类可读的标志。
例如,运行:
du | sort -n -r 输出按大小排序的磁盘使用情况(降序):
du |sort -n -r
65108 .
61508 ./dir3
2056 ./dir4
1032 ./dir1
508 ./dir2但是,使用人类可读的标志运行它并不能正确排序:
du -h | sort -n -r
508K ./dir2
64M .
61M ./dir3
2.1M ./dir4
1.1M ./dir1有谁知道按大小对du -h排序的方法吗?
发布于 2010-07-01 12:29:56
在2009年8月发布的GNU核心用途7.5中,sort允许一个-h参数,该参数允许du -h生成的那种数字后缀:
du -hs * | sort -h如果使用的是不支持-h的排序,则可以安装GNU。例如,在较旧的Mac上:
brew install coreutils
du -hs * | gsort -h来自sort 手册:
-h, --human-numeric-sort compare human readable numbers (e.g., 2K 1G)
发布于 2009-02-25 13:52:03
du | sort -nr | cut -f2- | xargs du -hs发布于 2009-02-25 20:39:28
我使用了一个非常有用的工具,名为ncdu,用于查找那些令人讨厌的高磁盘使用率的文件夹和文件,并删除它们。它以控制台为基础,速度快,重量轻,并且在所有主要发行版上都有包。
https://serverfault.com/questions/62411
复制相似问题