du -b é descrito na documentação de ajuda (du --help) como:
-b, --bytes equivalent to '--apparent-size --block-size=1'
onde
--apparent-size print apparent sizes, rather than disk usage; although
the apparent size is usually smaller, it may be
larger due to holes in ('sparse') files, internal
fragmentation, indirect blocks, and the like
du -k, pelo contrário, fornece
-k 'like --block-size=1K'
Isto é, du -k dá o uso do disco ao arquivo, enquanto du -b dá o 'tamanho aparente' do arquivo. O tamanho aparente é geralmente (mas nem sempre) menor.
(Fonte: relatório de erros do coreutils ).