Come faccio a far sì che `ls` mostri le dimensioni dei file in megabyte?

Di quali comandi ho bisogno perché Linux mostri la dimensione del file in MB?

Soluzione

ls -l --block-size=M ti darà un elenco in formato lungo (necessario per vedere effettivamente la dimensione dei file) e arrotonda le dimensioni dei file al MiB più vicino.

Se vuoi MB (10^6 byte) piuttosto che MiB (2^20 byte), usa invece --block-size=MB.

Se non vuoi il suffisso M attaccato alla dimensione del file, puoi usare qualcosa come --block-size=1M. Grazie Stéphane Chazelas per aver suggerito questo.

Se vuoi semplicemente le dimensioni dei file in unità "ragionevoli", piuttosto che specificamente megabyte, allora puoi usare -lh per ottenere un elenco in formato lungo e una presentazione delle dimensioni dei file umanamente leggibile. Questo userà unità di dimensione del file per mantenere le dimensioni dei file presentate con circa 1-3 cifre (quindi vedrai dimensioni di file come 6.1K, 151K, 7.1M, 15M, 1.5G e così via.

Il parametro --block-size è descritto nella pagina man di ls; man ls e cerca SIZE. Permette anche unità diverse da MB/MiB e, a quanto pare (non l'ho provato), anche dimensioni di blocco arbitrarie (quindi potresti vedere la dimensione del file come un numero di blocchi da 429 byte se vuoi).

Si noti che sia --block-size che -h sono estensioni GNU in cima a the Open Group's ls, quindi questo potrebbe non funzionare se non si ha una userland GNU (che la maggior parte delle installazioni Linux hanno). Il ls di GNU Coreutils 8.5 supporta --block-size e -h come descritto sopra. Grazie a kojiro per averlo fatto notare.

Commentari (18)

ls -lh dà dimensioni di file leggibili dall'uomo, in formato lungo.

Usa i suffissi k, M, G e T (o nessun suffisso per i byte) come necessario in modo che il numero rimanga piccolo, ad esempio 1.4K o 178M.

-h è un'estensione GNU coreutils, non la base POSIX.

Si noti che questo non risponde esattamente alla domanda posta. Se volete le dimensioni rigorosamente in MiB anche per file piccoli o giganteschi, la risposta di Michael Kjörling'lo fa per GNU coreutils ls.

Commentari (11)

ls -lhS ordina per dimensione, in formato leggibile dall'uomo

Commentari (5)