`du -s .` 和 `du -hs .` 给出不同的结果(在 OS X 上)

`du -s .` 和 `du -hs .` 给出不同的结果(在 OS X 上)

有和没有的区别-h应该只是人类可读的单位,对吗?

嗯,显然没有...

$ du -s .
74216696    .
$ du -hs .
 35G    .

或者也许我弄错了,结果du -s .不是以KB为单位?

答案1

du没有输出格式说明符给出磁盘使用情况512 字节,不是千字节。您可以使用-k以千字节为单位显示的选项。在 OS X(或 macOS、MacOS、Macos;无论您喜欢哪种)上,您可以通过设置环境变量来自定义默认单位BLOCKSIZE(这也会影响其他命令)。

答案2

问题是du返回 512 字节块数的大小。

为了获得以 KB 为单位的大小,您可以使用-k使用 1024 字节块的选项:

$ du -ks .                            
43351596    .
$ du -khs .
 41G    .

相关内容