这有效:
du -cshm .
但这失败了:
du -cshg .
我怎样才能以 GB 为单位查看它?
答案1
GNUdu
有以下--block-size
选项:
du -csh --block-size=1G .
作为萨杰布值得注意的是,省略块大小参数将自动缩放输出(并显示单位)。使用任何块大小参数都会显示数字但省略单位。
答案2
为了方便起见,以下是 macOS 的参考:
-h
“人类可读”的输出。使用单位后缀:字节、千字节、兆字节、千兆字节、太字节和拍字节。-k
以 1024 字节(1 KB)的块为单位显示块数。-m
以 1,048,576 字节(1 MB)的块为单位显示块数。-g
以 1,073,741,824 字节(1 GB)的块为单位显示块数。
对于给定的文件,各种选项的工作方式如下1,234,567 KB
:
$ mkfile -n 1234567k file.txt
$ du file.txt
2469136 file.txt
$ du -k file.txt
1234568 file.txt
$ du -m file.txt
1206 file.txt
$ du -g file.txt
2 file.txt
$ du -h file.txt
1.2G file.txt
还值得注意的是,您可以通过BLOCKSIZE
环境变量配置隐式行为:
BLOCKSIZE
BLOCKSIZE
如果设置了环境变量,并且-k
未指定选项,则块计数将以该大小的块为单位显示。如果BLOCKSIZE
没有设置,并且-k
未指定选项,则块计数将以512
字节块为单位显示。
答案3
使用du -B1073741824
时要小心,它只给出整数单位的结果,并且没有意义-h
答案4
除了前面的答案之外,不同的 coreutils 版本(或语言环境?)之间似乎也有所不同,因为在我的主机上我得到了:
$ du -csh .
32G .
32G total
$ du --version | head -1
du (GNU coreutils) 7.4