Linux的ls
需要什么命令来显示文件大小(MB)?
ls -l --block-size=M
会给你一个长格式的列表(需要实际看到文件大小),并将文件大小*四舍五入到最接近的MiB。
如果你想要MB(10^6字节)而不是MiB(2^20字节)单位,使用--block-size=MB
代替。
如果你不希望文件大小带有M
后缀,你可以使用--block-size=1M
。感谢Stéphane Chazelas的建议。
如果你只是想让文件大小以"合理"为单位,而不是*具体的兆字节,那么你可以使用-lh
来获得一个长格式的列表和人可读的文件大小介绍。这将使用文件大小的单位来保持文件大小以1-3位数呈现(所以你会看到文件大小如6.1K
、151K
、7.1M
、15M
、1.5G
等等。
块大小 "参数在ls的手册中有所描述;man ls
并搜索SIZE
。它也允许MB/MiB以外的单位,从外观上看(我没试过)也允许任意的块大小(所以如果你想的话,你可以把文件大小看成是429字节的块数)。
注意--block-size
和-h
都是GNU在the Open Group's ls
基础上的扩展,所以如果你没有GNU用户区(大多数Linux安装都有),这可能无法工作。GNU Coreutils 8.5中的ls
确实支持上述的-块大小和-h。感谢kojiro指出了这一点。
ls -lh
给出人类可读的文件大小,长格式。
它根据需要使用k、M、G和T的后缀(或者不使用字节的后缀),所以数字保持很小,例如:1.4K
或178M
。
-h
是GNU coreutils的扩展,而不是基线POSIX。
请注意,这并没有完全回答所问的问题。 如果你想要严格以MiB为单位的大小,即使是小的或巨大的文件,Michael Kjörling'的答案对GNU coreutils ls
来说也是如此。