如何使“ls”以兆字节为单位显示文件大小?

如何使“ls”以兆字节为单位显示文件大小?

Linux 需要什么命令ls才能显示文件大小(以 MB 为单位)?

答案1

ls -l --block-size=M将为您提供一个长格式列表(需要实际查看文件大小)并且圆形文件大小增大到最近的 MiB。

如果您需要 MB(10^6 字节)而不是 MiB(2^20 字节)单位,请改用--block-size=MB

如果您不希望M文件大小附加后缀,您可以使用类似--block-size=1M.谢谢斯蒂芬·查泽拉斯为了建议这个。

如果您只是想要“合理”单位的文件大小,而不是特别是兆字节,然后您可以使用-lh获取长格式列表和人类可读文件大小演示。这将使用文件大小单位来保持文件大小以大约 1-3 位数字表示(因此您将看到诸如6.1K151K7.1M15M等文件大小1.5G

--block-size参数在 ls 的手册页中有描述;man ls并搜索SIZE.它也允许除 MB/MiB 以外的单位,并且从它的外观来看(我没有尝试过)也允许任意块大小(因此,如果您愿意,您可以将文件大小视为多个 429 字节块)到)。

请注意, 和--block-size都是-hGNU 之上的扩展开放组的ls,所以如果您没有 GNU 用户区(大多数 Linux 安装都有),这可能不起作用。 GNU lsCoreutils 8.5 确实支持 --block-size 和 -h ,如上所述。谢谢小次郎指出这一点。

答案2

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

ls在这种情况下,GNU coreutils 包给出了二进制字节格式的大小,例如 Mebibyte (MiB),得到 IEEE 和 CIPM 的强烈认可 反而兆字节 (MB)。

它根据需要使用 k、M、G 和 T 后缀(或不使用字节后缀),以使数字保持较小,例如1.4K178M

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

请注意,这并不能完全回答所提出的问题。如果您希望大小严格以 MiB 为单位,即使是小文件或巨大文件,Michael Kjörling 的答案对于 GNU coreutils 来说是这样的ls

相关内容