it-swarm.cn

如何使“ ls”显示兆字节的文件大小?

我需要Linux的ls用什么命令来显示文件大小(以MB为单位)?

524
Paul Sheldrake

ls -l --block-size=M将为您提供长格式列表(需要实际查看文件大小),并且向上舍入文件大小至最接近的MiB。

如果您想要MB(10 ^ 6字节)而不是MiB(2 ^ 20字节)单位,请使用--block-size=MB代替。

如果您不希望文件大小附带M后缀,则可以使用--block-size=1M。谢谢 StéphaneChazelas 提出了这个建议。

如果您只希望文件大小以“合理的”单位而不是特定为兆字节,则可以使用-lh以获得长格式列表和易于阅读的文件大小演示。这将使用文件大小单位来保持大约1-3位数字的大小(因此您会看到6.1K151K7.1M15M1.5G 等等。

--block-size参数在ls的手册页中进行了介绍; man ls并搜索SIZE。它也允许使用MB/MiB以外的单元,并且从它的外观(我没有尝试过)中也可以选择任意块大小(因此,如果需要,您可以将文件大小视为429字节块的数量)至)。

请注意,两个--block-size-h是GNU扩展名 Open Group的ls ,所以如果您没有GNU用户区(大多数Linux安装会这样做)。来自GNU=的ls)Coreutils 8.5确实支持--block-size和-h,如上所述。到 kojiro 指出这一点。

598
a CVn

ls -lh给出人类可读的文件大小,长格式。

它根据需要使用k,M,G和T后缀(或字节不使用后缀),因此数量保持较小,例如1.4K 要么 178M

-h是GNU coreutils扩展,不是基准POSIX。

请注意,这不能完全按照要求回答问题。如果您甚至想为小文件或巨大文件都希望在MiB中严格使用大小, MichaelKjörling的答案是针对GNU coreutils ls

445
Sirex

ls -lhS以易读的格式按大小排序

56
jaciefan

这是用于按文件大小(仍可读)递增的目录顺序列出所有内容的选项。

ls -lSrh
15
Marcos Placona