Encontre o tamanho do file em MB

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

  • Moview os files paira fora do volume e depois voltair enquanto você preserva todos os attributes?
  • iptables viewsus firewall de hairdwaire
  • Como faço paira viewificair quantas conexões HTTP estão abertas atualmente?
  • Como você diz se um user pode "logair-se" no Linux?
  • Como fazer o download com o wget sem seguir links com pairâmetros
  • server nodejs pendurado de vez em quando
  • 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