ls -l --block-size=M vám poskytne dlouhý výpis formátu (potřebný ke skutečnému zobrazení velikosti souboru) a zaokrouhlí velikost souboru nahoru na nejbližší MiB.
Pokud chcete jednotky MB (10^6 bajtů) spíše než jednotky MiB (2^20 bajtů), použijte --block-size=MB místo toho.
Pokud nechcete M příponu připojenou k velikosti souboru, můžete použít něco jako --block-size=1M . Děkuji Stéphane Chazelas za to, že to navrhl.
Pokud chcete velikosti souborů v „rozumných“ jednotkách, nikoli konkrétně v megabajtech , pak můžete použít -lh získat dlouhý formát a čitelný pro lidi prezentace velikosti souboru. Tím se použijí jednotky velikosti souboru, aby se velikosti souborů zobrazovaly s přibližně 1–3 číslicemi (takže uvidíte velikosti souborů jako 6.1K , 151K , 7.1M , 15M , 1.5G a tak dále.
--block-size parametr je popsán v manuálové stránce pro ls; man ls a vyhledejte SIZE . Umožňuje i jiné jednotky než MB/MiB a podle vzhledu (to jsem nezkoušel) také libovolné velikosti bloků (takže můžete vidět velikost souboru jako počet 429bajtových bloků, pokud chcete do).
Všimněte si, že obě --block-size a -h jsou rozšíření GNU nad ls otevřené skupiny , takže to nemusí fungovat, pokud nemáte uživatelskou zemi GNU (což má většina instalací Linuxu). ls z GNU Coreutils 8.5 podporuje --block-size a -h, jak je popsáno výše. Děkuji kojirovi za upozornění.
ls -lh poskytuje lidsky čitelné velikosti souborů, dlouhý formát.
Podle potřeby používá přípony k, M, G a T (nebo žádné přípony pro bajty), takže počet zůstává malý, např. 1.4K nebo 178M .
-h je rozšíření GNU coreutils, nikoli základní POSIX.
Všimněte si, že to neodpovídá na otázku přesně tak, jak byla položena. Pokud chcete velikosti striktně v MiB i pro malé nebo gigantické soubory, odpověď Michaela Kjörlinga to dělá pro GNU coreutils ls .