Welche Befehle benötige ich für Linux's ls
, um die Dateigröße in MB anzuzeigen?
Mit ls -l --block-size=M
erhalten Sie eine Auflistung im Langformat (die Sie benötigen, um die Dateigröße zu sehen) und runden die Dateigrößen auf die nächsten MiB auf.
Wenn Sie MB (10^6 Bytes) statt MiB (2^20 Bytes) Einheiten wollen, verwenden Sie stattdessen --block-size=MB
.
Wenn Sie das Suffix "M" nicht an die Dateigröße anhängen wollen, können Sie etwas wie "-block-size=1M" verwenden. Vielen Dank an Stéphane Chazelas für diesen Vorschlag.
Wenn Sie einfach Dateigrößen in "vernünftigen" Einheiten und nicht speziell Megabytes haben wollen, dann können Sie -lh
verwenden, um eine Auflistung im Langformat und eine menschlich lesbare Darstellung der Dateigröße zu erhalten. Dies wird Einheiten der Dateigröße verwenden, um die Dateigrößen mit etwa 1-3 Ziffern darzustellen (also werden Sie Dateigrößen wie "6.1K", "151K", "7.1M", "15M", "1.5G" und so weiter sehen.
Der Parameter --block-size
ist in der Manpage für ls beschrieben; man ls
und suchen Sie nach SIZE
. Er erlaubt auch andere Einheiten als MB/MiB, und so wie es aussieht (ich habe es 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).
Beachten Sie, dass sowohl --block-size
als auch -h
GNU-Erweiterungen auf the Open Group's ls
sind, so dass dies möglicherweise nicht funktioniert, wenn Sie kein GNU-Userland haben (was die meisten Linux-Installationen haben). Das ls
von GNU Coreutils 8.5 unterstützt --block-size und -h wie oben beschrieben. Vielen Dank an kojiro für den Hinweis darauf.
ls -lh
liefert menschenlesbare Dateigrößen im Langformat.
Es verwendet die Suffixe k, M, G und T (oder kein Suffix für Bytes) je nach Bedarf, damit die Zahl klein bleibt, z.B. 1.4K
oder 178M
.
h" ist eine GNU coreutils-Erweiterung, nicht die POSIX-Basisversion.
Beachten Sie, dass dies die Frage nicht genau so beantwortet, wie sie gestellt wurde. Wenn Sie Größen strikt in MiB wollen, sogar für kleine oder riesige Dateien, Michael Kjörling's Antwort macht das für GNU coreutils ls
.