
Como encontrar o tamanho do arquivo em MB na linha de comando do UNIX?
Responder1
Se o seu ls
suporte --block-size
, como GNU coreutils ls
:
ls -s --block-size=1048576 filename | cut -d' ' -f1
Responder2
du -h file
OU
ls -lh file
EDITAR
esta resposta está errada, pois pode reportar o tamanho também em Gb/Kb, dependendo do tamanho do arquivo.Remova os votos positivos.
Responder3
Costumo usar 'du -k myfile' para obter kbytes e eliminar visualmente os três últimos dígitos, mas estou apenas procurando o tamanho aproximado.
Acontece que du frequentemente (sempre?) Tem a opção -m para MB.
Lembre-se de que o tamanho do arquivo provavelmente difere um pouco da quantidade de espaço em disco usado, pois a alocação do disco ocorre em blocos, não em bytes.
Se você está procurando arquivos 'gordos' por causa do pouco espaço em disco, essa seria uma pergunta mais esclarecedora, pois as soluções seriam mais variadas.
Responder4
stat
posso fazer isso.
$ ls -l | grep myfile
-rw------- 1 rory rory 3120 2009-07-02 16:58 myfile
$ stat -c '%s' myfile
3120
que fornecem a você em bytes.
Você pode usar a aritmética do bash para calcular os megabytes:
$ echo $(( $( stat -c '%s' myfile ) / 1024 / 1024 ))
0
(mas arredonda para baixo neste caso)