56 一些命令行工具使用-h或--human-readable选项以人类可读格式(即36Gvs 37550836)打印文件大小。 为什么需要此选项,而不是默认选项? 这些工具不是主要用于输出给人类吗? command-line — 肯尼·花生 source
75 因为它们最初不存在,并且默认行为是向后兼容。另外,因为它们并非在所有的unix变体中都存在,并且默认行为与其他unix变体兼容。 对于许多工具,因为它们旨在被其他工具解析。的情况很少见ls,但解析du或的输出df相对常见。(记住,对于df,您应该df -P在解析时使用。) 因为有些人喜欢37550836格式,因为当您看到一堆这样的数字时,它们的相对大小在视觉上清晰可见(数字数)。 — 吉尔斯 source 22 特别是3)当我直接将输出传递到管道中时,sort -n因为我对快速了解每个目录的粗略大小不感兴趣,而对子目录占用过多空间 — 却不感兴趣 8 @Shadur啊,但排序也需要-h! — quodlibetor 3 我认为2(例如,用于脚本编写)是主要原因。 — sml @quodlibetor什么操作系统/发行版?kubuntu lucid sort不接受-h,我看不到任何等效。 — 乔 7 @ user23861 sort -h在GNU coreutils 7.5中引入。Lucid有7.4,所以在Ubuntu上至少需要特立独行。 — 吉尔斯
13 请注意,如果您在环境中设置BLOCKSIZE = human-可读,则这将是默认设置,至少对于GNU coreutils中的命令而言,即使用bash put: export BLOCKSIZE=human-readable 在$ HOME / .bashrc文件中。 — 雷神 source 2 看起来BLOCKSIZE=h可能就足够了。但是很棒的提示! — Mikel 该文档建议BLOCK_SIZE=human-readable。在我读完之前,还不知道是否支持数千个分隔符。 — Mikel 似乎在OSX上不起作用 — James Lin @jameslin:这可能是GNU coreutils特定的变量。您可以创建一个别名... — Thor
6 除了吉尔斯说的话: 与今天相比,当这些工具发明的硬盘很小时。您不需要帮助即可读取400000这样的数字。 如果您不喜欢它,请使用别名系统。在您的主目录中 edit ~/.bashrc 并插入,例如: alias df='df -h' alias du='du -h' 请注意,与许多其他语言相反,不允许在赋值运算符(等号)之前或之后使用空格。 — 用户未知 source
sort -n
因为我对快速了解每个目录的粗略大小不感兴趣,而对子目录占用过多空间