Encuentra el tamaño del archivo en MB

Encuentra el tamaño del archivo en MB

¿Cómo encontrar el tamaño de un archivo en MB en la línea de comando de UNIX?

Respuesta1

Si su lssoporte --block-size, como GNU coreutils, lslo hace:

ls -s --block-size=1048576 filename | cut -d' ' -f1

Respuesta2

du -h file

O

ls -lh file

EDITAR

esta respuesta es incorrecta ya que puede informar el tamaño también en Gb/Kb, dependiendo del tamaño del archivo.Por favor elimine los votos positivos.

Respuesta3

Tiendo a usar 'du -k myfile' para obtener kbytes y eliminar visualmente los últimos tres dígitos, pero solo busco el tamaño aproximado.

Resulta que du a menudo (¿siempre?) tiene la opción -m para MB.

Tenga en cuenta que el tamaño del archivo probablemente difiera ligeramente de la cantidad de espacio en disco utilizado, ya que la asignación del disco se produce en bloques, no en bytes.

Si está buscando archivos "gordos" debido al poco espacio en disco, esa sería una pregunta más esclarecedora, ya que las soluciones serían más variadas.

Respuesta4

statpuede hacer esto.

$ ls -l | grep myfile
-rw-------  1 rory rory      3120 2009-07-02 16:58 myfile
$ stat -c '%s' myfile
3120

que te lo dan en bytes.

Puedes usar la aritmética de bash para calcular los megabytes:

$ echo $(( $( stat -c '%s' myfile ) / 1024 / 1024 ))
0

(pero en este caso lo redondea hacia abajo)

información relacionada