¿Cómo puedo hacer que `ls` muestre el tamaño de los archivos en megabytes?

¿Qué comandos necesito para que Linux's ls muestre el tamaño del archivo en MB?

Solución

ls -l --block-size=M le dará un listado de formato largo (necesario para ver realmente el tamaño del archivo) y redondeará el tamaño de los archivos al MiB más cercano.

Si quiere unidades de MB (10^6 bytes) en lugar de MiB (2^20 bytes), utilice --block-size=MB en su lugar.

Si no quiere el sufijo M unido al tamaño del archivo, puede usar algo como --block-size=1M. Gracias Stéphane Chazelas por sugerir esto.

Si simplemente quiere tamaños de archivo en unidades "razonables", en lugar de específicamente megabytes, entonces puede usar -lh para obtener un listado de formato largo y una presentación de tamaño de archivo lectura humana. Esto utilizará unidades de tamaño de archivo para mantener los tamaños de archivo presentados con unos 1-3 dígitos (por lo que verá tamaños de archivo como 6.1K, 151K, 7.1M, 15M, 1.5G y así sucesivamente.

El parámetro --block-size se describe en la página man de ls; man ls y busque SIZE. También permite unidades diferentes a MB/MiB, y por lo que parece (no lo he probado) también tamaños de bloque arbitrarios (así que puedes ver el tamaño del archivo como un número de bloques de 429 bytes si quieres).

Tenga en cuenta que tanto --block-size como -h son extensiones de GNU sobre el Open Group's ls, por lo que puede que no funcione si no tiene una zona de usuario de GNU (como la mayoría de las instalaciones de Linux). El ls de GNU Coreutils 8.5 sí soporta --block-size y -h como se ha descrito anteriormente. Gracias a kojiro por señalar esto.

Comentarios (18)

ls -lh da tamaños de archivos legibles por humanos, formato largo.

Utiliza los sufijos k, M, G y T (o ningún sufijo para los bytes) según sea necesario para que el número se mantenga pequeño, por ejemplo, 1.4K o 178M.

-h es una extensión de GNU coreutils, no la línea base de POSIX.

Tenga en cuenta que esto no responde exactamente a la pregunta. Si quiere tamaños estrictamente en MiB incluso para archivos pequeños o gigantescos, Michael Kjörling's answer does that for GNU coreutils ls.

Comentarios (11)

ls -lhS ordenar por tamaño, en formato legible para el ser humano

Comentarios (5)