du comando mostrando resultados diferentes de st_blocks

3

Estou implementando du -a em C e estou usando a função stat para isso. O problema é que o que eu recebo usando st_blocks é 2 × o que eu recebo quando eu uso o comando em si, isso faz algum sentido? ou estou fazendo algo errado?

    
por Stieg 16.11.2016 / 20:01

1 resposta

7

stat conta blocos de 512 bytes em st_blocks , enquanto < href="http://man7.org/linux/man-pages/man1/du.1.html"> du conta blocos de 1024 bytes por padrão (na maioria das distribuições Linux) - então é perfeitamente normal obter o dobro do número de blocos de stat .

( POSIX du conta blocos de 512 bytes também; GNU du segue esse padrão se você definir POSIXLY_CORRECT .)

    
por 16.11.2016 / 20:09