ls -l --block-size=M
ti darà un elenco di formato lungo (necessario per vedere effettivamente la dimensione del file) e arrotonda le dimensioni del file per eccesso al MiB più vicino.
Se vuoi unità MB (10^6 byte) anziché MiB (2^20 byte), usa --block-size=MB
invece.
Se non vuoi il M
suffisso allegato alla dimensione del file, puoi usare qualcosa come --block-size=1M
. Grazie Stéphane Chazelas per aver suggerito questo.
Se desideri semplicemente dimensioni dei file in unità "ragionevoli", piuttosto che specificamente megabyte , allora puoi usare -lh
per ottenere un elenco di formato lungo e leggibile dall'uomo presentazione delle dimensioni del file. Questo utilizzerà unità di dimensione del file per mantenere le dimensioni del file presentate con circa 1-3 cifre (quindi vedrai dimensioni del file come 6.1K
, 151K
, 7.1M
, 15M
, 1.5G
e così via.
Il --block-size
parametro è descritto nella pagina man per ls; man ls
e cerca SIZE
. Consente anche unità diverse da MB/MiB e, a quanto pare (non l'ho provato), anche dimensioni di blocco arbitrarie (quindi puoi vedere la dimensione del file come un numero di blocchi da 429 byte se lo desideri a).
Nota che sia --block-size
e -h
sono estensioni GNU in cima a ls
di Open Group , quindi potrebbe non funzionare se non si dispone di un'area utente GNU (cosa che fa la maggior parte delle installazioni Linux). Il ls
da GNU Coreutils 8.5 supporta --block-size e -h come descritto sopra. Grazie a Kojiro per averlo segnalato.
ls -lh
fornisce dimensioni di file leggibili dall'uomo, formato lungo.
Utilizza i suffissi k, M, G e T (o nessun suffisso per i byte) secondo necessità, quindi il numero rimane piccolo, ad es. 1.4K
o 178M
.
-h
è un'estensione GNU coreutils, non baseline POSIX.
Nota che questo non risponde alla domanda esattamente come è stata posta. Se desideri dimensioni rigorosamente in MiB anche per file piccoli o giganteschi, la risposta di Michael Kjörling lo fa per GNU coreutils ls
.