Por que o comando “du” conta em passos de 4KB? [duplicado]

2

Eu não entendo como o comando du no Linux funciona. Eu queria contar o tamanho total de algumas centenas de arquivos pequenos e du -sh retornou algo ao longo das linhas de 150MB. Eu não questionei até que percebi que meu gerenciador de arquivos exibia apenas cerca de 50MB para o mesmo conjunto de dados e fiquei confuso.

Veja o que tentei:

fkochem@WK-6:~/temp$ cat test 
a
fkochem@WK-6:~/temp$ du -sh test 
4.0K    test

Então, isso deve ser um erro? Analisei du -sh * dos meus dados originais e encontrei o seguinte:

4.0K    NCO-0.9.9.9.json
4.0K    NCO-0.99.9.json
4.0K    NCO-0.9.9.json
8.0K    NCO-0.99.json
8.0K    NCO-0.9.json

Por que du parece contar em etapas de 4KB? O que estou perdendo aqui?

    
por Fabian 16.03.2012 / 12:48

1 resposta

3

du é o uso do disco e conta a quantidade de disco alocada para o arquivo. O "tamanho de bloco" mínimo (ou seja, o pedaço mínimo alocado para um arquivo) é geralmente 4k. Então o sistema de arquivos conta em blocos de 4k, não du.

Ele contaria em blocos de 1k se você formatasse uma unidade da seguinte maneira:

mke2fs -b 1024 /dev/XXX
    
por 16.03.2012 / 14:48

Tags