En Unix (Tru64), ¿cómo hago para que el lscomando muestre el tamaño del archivo en megabytes? Actualmente puedo mostrarlo en bytes usando lo siguiente:
ls -la
command-line
unix
ls
mega
phuclv
fuente
fuente

ls --block-size=Mimprime los tamaños en megabytes pero muestra 1 MB también para cualquier cosa por debajo de 1 MB Sin embargo, no estoy seguro de si esta opción es aceptable en su versión UNIX de ls.En realidad,
ls -lhtambién imprime tamaños en Gigabytes si el archivo es lo suficientemente grande (Bueno, de todos modos: en Linux 64 bits esto funciona:>)En un nodo lateral:
du -sh *imprime también los tamaños de directorio en el directorio actual.fuente
ls -htiene sentido después de que un archivo crece más de 1 GB, así que uso este comando en un bucle de 1 segundo:while true ; do ls -al --block-size=M ; sleep 1 ; doneTendrás que usar
awkpara hacer los cálculos por ti:Esto no afectará la salida de archivos que son más pequeños que
mega.Es posible que deba ajustar el número de campo para que coincida con la forma en que
lsse presenta Puede cambiarmegaa "1000000" si esa es su preferencia.Esto imprimirá más decimales de los que probablemente desee. Podría implementar una función de redondeo.
fuente
ls -lhols --block-size=M, ¡pero AWK es muy útil!intente
ls -shRcon el formato recursivo legible por humanos.fuente
-hen Tru64 , y lo hizo más de dos años antes de que se publicara esta respuesta.prueba
ls -lash, imprime tamaños en formato legible para humanosfuente
du -sm filename.txtfuente
También puedes escribir
Esto mostrará una lista de todas las carpetas en el directorio actual, con formato legible, incluidos los tamaños de archivo más familiares en Kb, Mb, Gb.
fuente
Si solo desea el tamaño de un archivo específico, entonces el comando, una extrapolación trivial de las respuestas anteriores, es:
-ses para el tamaño yhes para lectura humana (como se mencionó anteriormente varias veces).La salida se verá así:
Si omite los nombres de archivo, enumerará el directorio, colocando el tamaño de cada archivo junto a su nombre, no muy diferente de lo que
ls -lahace cuando se invoca sin argumentos de nombre de archivo.Espero que esto ayude.
fuente
-hopción no existe enlsese sistema.Para el
--block-sizeparámetro:MBpara 10 ^ 6Mpor 2 ^ 20fuente
1MB. Por esta razón, me parecióls -l --block-size=kBmás útil.Si solo está interesado en el tamaño del archivo y no tiene que usar el
lscomando, intente lo siguiente:Esto imprimirá el tamaño del archivo sin la necesidad de analizar nada.
fuente