du 命令的输出

du 命令的输出

我有一个文件夹,它的16.91GB大小是(我在 Finder 中检查过)。

我尝试使用命令检查大小du

因此,我尝试了du -sh ~/folder并且成功了16G

我以为我会以字节为单位获取输出并进行转换。但我不明白当-h没有给出度量时该如何操作。

du -s ~/folder

给出33041320。我以为它是以字节为单位,但我错了。它采用哪种格式?

我怎样才能得到16.91GB而不是16G

笔记:我相信 Linux 中的行为也一样,所以我标记了linux。如果错误,请告诉我或删除该标记。

谢谢。

答案1

  1. 格式是33041320
    33041320是 512 字节块的数量。来自手册页:

    If the environment variable BLOCKSIZE is set, and the -k option is not specified, the block counts will be displayed in units of that size block. 
    If BLOCKSIZE is not set, and the -k option is not specified, the block counts will be displayed in 512-byte blocks.   
    
  2. 我如何得到 16.91 而不是 16?
    似乎你不能。报告 16.91 的原因finder是 finder 将 1000 字节视为 1k。因此从技术上讲,finder 报告的数字是不正确的。 33041320*512/1000/1000/1000=16.91

相关内容