一些命令行工具使用-h
或选项以人类可读的格式(即vs )--human-readable
打印文件大小。36G
37550836
- 为什么需要这个选项而不是默认选项?
- 这些工具不主要是为了输出给人类吗?
答案1
- 因为它们最初并不存在,并且默认行为是向后兼容的。另外,因为它们并不存在于所有 UNIX 变体上,并且默认行为与其他 UNIX 变体兼容。
- 对于许多工具来说,因为它们旨在可由其他工具解析。这种情况很少发生,但解析or
ls
的输出相对常见。 (注意,解析时应该使用for 。)du
df
df
df -P
- 因为有些人更喜欢 37550836 格式,因为当你看到一堆这样的数字时,它们的相对大小在视觉上是清晰的(位数)。
答案2
请注意,如果您在环境中设置 BLOCKSIZE=人类可读,则这将是默认值,至少对于 GNU coreutils 中的命令而言,即如果您使用的是 bash put:
export BLOCKSIZE=human-readable
在您的 $HOME/.bashrc 文件中。
答案3
除了吉尔斯所说:
当这些工具发明时,硬盘与今天相比非常小。您不需要帮助就能读取 400000 这样的数字。
如果您不喜欢它,请使用别名系统。在你的主目录中,
edit ~/.bashrc
并插入,例如:
alias df='df -h'
alias du='du -h'
请注意,与许多其他语言相比,赋值运算符(等号)之前或之后不允许有空格。