ls e tamanho real do arquivo sem usar 'formato de listagem longo'

0

O comando Linux ls vem com essas opções.

   --block-size=SIZE
          scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of  1,048,576  bytes;  see
          SIZE format below


   -l     use a long listing format

          list subdirectories recursively

   -s, --size
          print the allocated size of each file, in blocks

Presumo que ls -l seja o tamanho real do arquivo e ls -s --block-size=1 seja a quantidade de espaço em disco alocada para armazenar o arquivo. (Neste caso 991232 = 968x1024 = 968K.)

$ ls -s --block-size=1  summary.pdf 
991232 summary.pdf
$ ls -l summary.pdf 
-rwxrwx---. 1 chris chris 989838 May  1  2015 summary.pdf

Existe um para obter o tamanho do arquivo em bytes sem as informações adicionais em "formato de listagem longo"?

    
por ChrisGuest 06.10.2016 / 07:57

1 resposta

4

Você pode usar stat com um formato personalizado.

stat -c'%s' summary.pdf 

produzirá o tamanho real do arquivo em bytes. Se você quiser blocos alocados, use %b para o número de blocos alocados e %B para o tamanho do bloco de cada bloco em bytes.

Isso também funciona com curingas e um %n adicional para o nome do arquivo. Veja a man page para mais opções de formatação.

    
por 06.10.2016 / 08:43

Tags