Como obter o tamanho de um arquivo ou diretório no Linux

Ao usar o comando du Linux, você obtém o uso real do disco e o tamanho real de um arquivo ou diretório. Explicaremos por que esses valores não são iguais.

Uso real do disco e tamanho real

O tamanho de um arquivo e o espaço que ele ocupa no disco rígido raramente são os mesmos. O espaço em disco é alocado em blocos. Se um arquivo for menor do que um bloco, um bloco inteiro ainda é alocado para ele porque o sistema de arquivos não tem uma unidade menor de espaço para usar.

A menos que o tamanho de um arquivo seja um múltiplo exato de blocos, o espaço que ele usa no disco rígido deve sempre ser arredondado para o próximo bloco inteiro. Por exemplo, se um arquivo for maior que dois blocos, mas menor que três, ainda serão necessários três blocos de espaço para armazená-lo.

  Os 5 melhores clientes de IRC para usar no Linux

Duas medidas são usadas em relação ao tamanho do arquivo. O primeiro é o tamanho real do arquivo, que é o número de bytes de conteúdo que o compõe. O segundo é o tamanho efetivo do arquivo no disco rígido. Este é o número de blocos do sistema de arquivos necessários para armazenar esse arquivo.

Um exemplo

Vejamos um exemplo simples. Vamos redirecionar um único caractere em um arquivo para criar um pequeno arquivo:

echo "1" > geek.txt

geek.txt ”comando em uma janela de terminal. ‘ largura = ”646 ″ altura =” 57 ″ onload = ”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (this);” onerror = ”this.onerror = null; pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (this);”>

Agora, usaremos a listagem de formato longo, ls, para examinar o comprimento do arquivo:

ls -l geek.txt

O

O comprimento é o valor numérico que segue as entradas dave dave, que é dois bytes. Por que são dois bytes quando enviamos apenas um caractere para o arquivo? Vamos dar uma olhada no que está acontecendo dentro do arquivo.

  Como executar o SpeedTest a partir do terminal Linux

Usaremos o comando hexdump, que nos dará uma contagem exata de bytes e nos permitirá “ver” caracteres não imprimíveis como valores hexadecimais. Também usaremos a opção -C (canônico) para forçar a saída a mostrar valores hexadecimais no