Hvilke kommandoer skal jeg bruge for at få Linux's ls
til at vise filstørrelsen i MB?
ls -l --block-size=M
vil give dig en liste i langt format (nødvendig for at se filstørrelsen) og runder filstørrelser opad til nærmeste MiB.
Hvis du ønsker MB (10^6 bytes) i stedet for MiB (2^20 bytes), skal du bruge --block-size=MB
i stedet.
Hvis du ikke ønsker at have M
-suffikset knyttet til filstørrelsen, kan du bruge noget som --block-size=1M
. Tak til Stéphane Chazelas for at foreslå dette.
Hvis du blot ønsker filstørrelser i "rimelige" enheder, snarere end specifikt megabytes, kan du bruge -lh
for at få en langformatliste og menneskeligt læsbar præsentation af filstørrelser. Dette vil bruge enheder af filstørrelse til at holde filstørrelser præsenteret med omkring 1-3 cifre (så du vil se filstørrelser som 6.1K
, 151K
, 7.1M
, 15M
, 1.5G
og så videre.
Parameteren --block-size
er beskrevet i man-siden for ls; man ls
og søg efter SIZE
. Den tillader også andre enheder end MB/MiB, og så vidt det ser ud (jeg har ikke prøvet det) også vilkårlige blokstørrelser (så du kan se filstørrelsen som et antal 429-byte blokke, hvis du vil).
Bemærk at både --block-size
og -h
er GNU-udvidelser oven på the Open Group's ls
, så det virker måske ikke hvis du ikke har et GNU-brugerland (hvilket de fleste Linux-installationer har). ls
fra GNU Coreutils 8.5 understøtter --block-size og -h som beskrevet ovenfor. Tak til kojiro for at gøre mig opmærksom på dette.
ls -lh
giver menneskeligt læsbare filstørrelser, langt format.
Den bruger k-, M-, G- og T-suffikser (eller ingen suffiks for bytes) efter behov, så antallet forbliver lille, f.eks. 1.4K
eller 178M
.
-h
er en GNU coreutils udvidelse, ikke baseline POSIX.
Bemærk, at dette ikke besvarer spørgsmålet præcis som det blev stillet. Hvis du ønsker størrelser strengt i MiB, selv for små eller gigantiske filer, så gør Michael Kjörling's svar det for GNU coreutils ls
.