Estou confuso com a saída do comando 'du' no Linux


21

Crio um arquivo chamado file.o, desejo verificar o tamanho do arquivo file.o

du -h file.o ====> 4.0K

du -b file.o ====> 1120

de acordo com du -b file.o, eu conheço file.o é 1120bytes grande. Mas por que du -h file.ogera 4,0 K (significa 4 * 1024 bytes)?

Respostas:


33

O arquivo é menor, mas é necessário um bloco inteiro de 4,0 K no disco (você pode ter apenas um arquivo em um bloco). Se o tamanho do byte fosse (por exemplo) 5678 bytes, ele ocuparia dois blocos de 4,0 K, ou seja, 8,0 K.

du -b imprime tamanhos em bytes, substituindo o tamanho padrão do bloco.


10

Para adicionar à resposta do eumiro, o tamanho do bloco pode ser diferente para cada sistema de arquivos / partição.

Você pode encontrar o tamanho do bloco de um sistema de arquivos usando tune2fs -l /dev/<disk> | grep '^Block size'ou stat -c "%o" <file on the disk>.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.