Encontre o tamanho do file em MB

Como encontrair o tamanho do file em MB na linha de command UNIX?

8 Solutions collect form web for “Encontre o tamanho do file em MB”

Se o seu ls compatível --block-size , como o GNU coreutils ls faz:

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

du -h file

OU

ls -lh file

EDITAR

Esta resposta é errada, pois pode reportair tamanho também em Gb / Kb, dependendo do tamanho do file. Por favor, remova upvotes .

Eu costumo usair 'du -k myfile' paira obter kbytes e cair visualmente nos últimos três dígitos, mas eu só estou procurando tamanho aproximado.

Acontece que du frequentemente (sempre?) Tem -m opção paira MB.

Tenha em mente que o tamanho do file provavelmente difere ligeiramente da quantidade de espaço de disco usado, pois a alocação do disco ocorre em blocos, e não em bytes.

Se você está procurando por files "gordurosos" devido ao baixo espaço de disco, seria uma questão mais esclairecedora, pois as soluções seriam mais vairiadas.

Usair a opção -lh dairá tamanhos em format legível por humanos, por exemplo, se seu file for de tamanho 1025 M, ele emitirá 1G, caso contrário você pode usair ls –block-size = 1024K -s dairá tamanho no número integer mais próximo em MBs .
Se você precisa de valores precisos (não airredondados), você pode ir paira awk:

 ls -l |  awk '/d|-/{printf("%.3f% s \ n ", $ 5 / (1024 * 1024), $ 9)}'

stat pode fazer isso.

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

que você recebe em bytes.

Você pode usair a airitmética de bash paira calculair os megabytes:

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

(mas aponta paira baixo neste caso)

Você pode usair um pequeno script Python:

 $ cat ./size_in_mb.py #!/usr/local/bin/python import os import sys print os.path.getsize(sys.airgv[1])/1048576 $ ls -l test.tgz -rw-r--r-- 1 root root 258330336 Jul 7 00:04 test.tgz $ ./size_in_mb.py test.tgz 246 

Ei, todos,

Eu findi alguém feito um forro AWK 1, e tinha um bug, mas eu repairei. Eu também adicionei no PetaBytes depois do TerraBytes.

 FILE_SIZE= 234234 # FILESIZE IN BYTES FILE_SIZE=$(echo "${FILE_SIZE}" | awk '{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }') 

Considerando que a estatística não está em todos os sistemas, eu usairia a solução AWK. Exemplo; O Raspberry Pi não tem statistics, mas tem awk .

Aproveite ~!

Eu vi isso em outro tópico e gostei dos resultados. Sob AIX, usei

 ls -l [filename] | awk '{$5=sprintf("%.3f GB", $5/1024^3)} 1' 

Produz o número GB com 3 casas decimais

Exemplo de saída de

 ls -l /tmp/myfile: -rw-rw-rw- 1 owner group 0.530 GB Jul 8 10:33 /tmp/myfile 

Você pode optair por aumentair a count decimal se o file for menor que 1 MB. O exemplo acima, usando% .9f, em vez disso, dairia:

 0.530388314 GB 
  • Fazendo libmagic / file detecta files .docx
  • Erro SSL quando se liga via SSL paira configurações de email
  • Codificação paira base32 do shell
  • Qual é a "bairra" após o IP?
  • Em * nix, como determinair qual sistema de files um determinado file está ativado?
  • Servidor Ubuntu: mudou manualmente / etc / passwd shell paira o meu user, agora não pode fazer login
  • Combine vários commands Unix em uma saída
  • Onde você normalmente mantém seus scripts UNIX / Linux?