Depois de adicionar a opção -a
a ls
, obtive:
root@...:/local/.../DCIM/100___12# du -b
5286222389 .
root@...:/local/.../DCIM/100___12# ls -al --block-size=1
total 5292867584
drwxr-xr-x 2 markus markus 12288 Aug 5 2013 .
drwxr-xr-x 4 markus markus 4096 Aug 5 2013 ..
-rwxr--r-- 1 markus markus 2167504 Aug 5 2013 IMG_0004.JPG
...
vs.
root@...:/local_old/.../DCIM/100___12# du -b
5286226485 .
root@...:/local_old/.../DCIM/100___12# ls -als --block-size=1
total 5292871680
drwxr-xr-x 2 markus markus 16384 Aug 5 2013 .
drwxr-xr-x 4 markus markus 4096 Aug 5 2013 ..
-rwxr--r-- 1 markus markus 2167504 Aug 5 2013 IMG_0004.JPG
...
Observe a diferença no tamanho do .
-directory, que corresponde exatamente à diferença relatada por du -b
.
Além disso, parece que o total relatado por ls
está realmente em blocos e não em bytes. Então a resposta é meio que @jcbermu sugerida, mas ao contrário:
Sim, ambos estão certos, mas ls
informa o tamanho total em blocos fs usados (mas tamanhos de arquivo individuais em bytes) e du -b
relatórios bytes.
A diferença entre a origem e o destino que estou vendo é causada por uma diferença no tamanho relatado para .
. De onde isso vem, é outra história. Provavelmente porque um reservou mais entradas de diretório em algum momento do que o outro. Mas pelo menos agora não me preocupo mais com o fato de que algo ficou perdido no processo de cópia. O próximo passo é descobrir como informar du
para ignorar .
e ..
em seus totais e isso deve resolver meu problema.