
¿Cómo encontrar el tamaño de un archivo en MB en la línea de comando de UNIX?
Respuesta1
Si su ls
soporte --block-size
, como GNU coreutils, ls
lo 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
stat
puede 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)