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.1K
、151K
、7.1M
、15M
等文件大小1.5G
。
该--block-size
参数在 ls 的手册页中有描述;man ls
并搜索SIZE
.它也允许除 MB/MiB 以外的单位,并且从它的外观来看(我没有尝试过)也允许任意块大小(因此,如果您愿意,您可以将文件大小视为多个 429 字节块)到)。
请注意, 和--block-size
都是-h
GNU 之上的扩展开放组的ls
,所以如果您没有 GNU 用户区(大多数 Linux 安装都有),这可能不起作用。 GNU ls
Coreutils 8.5 确实支持 --block-size 和 -h ,如上所述。谢谢小次郎指出这一点。
答案2
ls -lh
给出人类可读的文件大小,长格式。
ls
在这种情况下,GNU coreutils 包给出了二进制字节格式的大小,例如 Mebibyte (MiB),得到 IEEE 和 CIPM 的强烈认可 反而兆字节 (MB)。
它根据需要使用 k、M、G 和 T 后缀(或不使用字节后缀),以使数字保持较小,例如1.4K
或178M
。
-h
是 GNU coreutils 扩展,而不是基线 POSIX。
请注意,这并不能完全回答所提出的问题。如果您希望大小严格以 MiB 为单位,即使是小文件或巨大文件,Michael Kjörling 的答案对于 GNU coreutils 来说是这样的ls
。