我使用此命令来确定哪个目录正在占用我的磁盘。
du -sk * | sort -n
如何获得人类可读的du
文件大小结果形式?我已经检查过了man
,它所拥有的-k
只是将字节结果转换为千字节结果的标志。我需要以 GB 为单位的结果
答案1
这可能有效:
du -hs * | sort -h
如果您的副本du
不支持该-h
标志,那么您可以转换数字使用awk
。
du -ks * | awk '
function human(x) {
s="kMGTEPYZ";
while (x>=1000 && length(s)>1)
{x/=1024; s=substr(s,2)}
return int(x+0.5) substr(s,1,1)
}
{gsub(/^[0-9]+/, human($1)); print}'
答案2
在 Linux 机器上 [基于 Debian],我在打开手册页时得到以下信息du
:
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
因此:du -h
应该给你你需要的东西。另外,也来自man du
:
--si like -h, but use powers of 1000 not 1024
-k like --block-size=1K
我真的很想知道你在哪里找到你的信息。