ls -l --block-size=M
gibt Ihnen eine lange Formatliste (erforderlich, um die Dateigröße tatsächlich zu sehen) und Dateigrößen aufrunden zum nächsten MiB.
Wenn Sie MB (10^6 Bytes) statt MiB (2^20 Bytes) Einheiten wünschen, verwenden Sie --block-size=MB
stattdessen.
Wenn Sie die M
nicht möchten Suffix an die Dateigröße angehängt, können Sie so etwas wie --block-size=1M
verwenden . Danke Stéphane Chazelas für diesen Vorschlag.
Wenn Sie einfach Dateigrößen in "angemessenen" Einheiten und nicht speziell Megabyte wünschen , dann können Sie -lh
verwenden um eine Liste im Langformat und vom Menschen lesbar zu erhalten Präsentation der Dateigröße. Dadurch werden Einheiten der Dateigröße verwendet, um Dateigrößen mit etwa 1-3 Ziffern darzustellen (so dass Sie Dateigrößen wie 6.1K
sehen , 151K
, 7.1M
, 15M
, 1.5G
und so weiter.
Die --block-size
Parameter ist in der Manpage für ls beschrieben; man ls
und suchen Sie nach SIZE
. Es erlaubt auch andere Einheiten als MB/MiB und so wie es aussieht (das habe ich nicht ausprobiert) auch beliebige Blockgrößen (so dass Sie die Dateigröße als eine Anzahl von 429-Byte-Blöcken sehen können, wenn Sie wollen zu).
Beachten Sie, dass sowohl --block-size
und -h
sind GNU-Erweiterungen auf den ls
der Open Group , daher funktioniert dies möglicherweise nicht, wenn Sie kein GNU-Userland haben (was bei den meisten Linux-Installationen der Fall ist). Die ls
von GNU Coreutils 8.5 unterstützt --block-size und -h wie oben beschrieben. Danke an kojiro für den Hinweis.
ls -lh
gibt für Menschen lesbare Dateigrößen im Langformat an.
Es verwendet die Suffixe k, M, G und T (oder kein Suffix für Bytes) nach Bedarf, damit die Anzahl klein bleibt, z. 1.4K
oder 178M
.
-h
ist eine GNU-Coreutils-Erweiterung, kein Basis-POSIX.
Beachten Sie, dass dies die Frage nicht genau so beantwortet, wie sie gestellt wurde. Wenn Sie selbst für kleine oder riesige Dateien Größen ausschließlich in MiB wünschen, tut dies die Antwort von Michael Kjörling für GNU Coreutils ls
.