it-swarm.it

Come posso fare in modo che `ls` mostri le dimensioni dei file in megabyte?

Quali comandi sono necessari affinché ls di Linux mostri le dimensioni del file in MB?

524
Paul Sheldrake

ls -l --block-size=M Ti fornirà un elenco di formati lunghi (necessario per vedere effettivamente le dimensioni del file) e dimensioni del file arrotondate in su al MiB più vicino.

Se si desidera unità MB (10 ^ 6 byte) anziché MiB (2 ^ 20 byte), utilizzare invece --block-size=MB.

Se non vuoi che il suffisso M sia collegato alle dimensioni del file, puoi usare qualcosa come --block-size=1M. Grazie Stéphane Chazelas per avermi suggerito questo.

Se desideri semplicemente dimensioni di file in unità "ragionevoli", anziché specificamente megabyte, puoi utilizzare -lh Per ottenere un elenco di formati lunghi e presentazione dimensione file leggibile . Questo userà unità di dimensioni 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 parametro --block-size È descritto nella pagina man per ls; man ls E cerca SIZE. Permette anche unità diverse da MB/MiB e, a quanto pare (non l'ho provato), anche dimensioni di blocchi arbitrarie (quindi puoi vedere le dimensioni del file come un numero di blocchi da 429 byte se vuoi per).

Nota che sia --block-size Che -h Sono GNU estensioni sopra l'Open Group ls , quindi questo potrebbe non funzionare se non hai un GNU userland (come fanno la maggior parte delle installazioni Linux). Il ls da GNU Coreutils 8.5 fa supporta --block-size e -h come descritto sopra Grazie a kojiro per averlo sottolineato.

598
a CVn

ls -lh offre dimensioni file leggibili dall'uomo, formato lungo.

Utilizza i suffissi k, M, G e T (o nessun suffisso per i byte) in base alle necessità, quindi il numero rimane piccolo, ad es. 1.4K o 178M.

-h è un GNU, non POSIX di base.

Nota che questo non risponde alla domanda esattamente come è stato chiesto. Se vuoi dimensioni rigorosamente in MiB anche per file piccoli o giganteschi, La risposta di Michael Kjörling lo fa per GNU coreutils ls .

445
Sirex

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

56
jaciefan

E questa è l'opzione per elencare tutto in un ordine di directory in base alla dimensione del file (ancora leggibile dall'uomo) in ordine crescente.

ls -lSrh
15
Marcos Placona