Provavelmente você tem arquivos ocultos na pasta.
O ponto é que glob *
seleciona apenas arquivos e pastas que não iniciam com .
. Então, se eles não são passados para o comando du
. Por outro lado, do diretório superior, você obtém o tamanho do diretório como um todo, incluindo arquivos de ponto.
Para corresponder a todos os arquivos em determinada pasta, incluindo os ocultos, tente (com bash
)
du -shc -- {.[!.],..?,}*
ou defina a opção dotglob
para que *
corresponda também aos arquivos ocultos:
shopt -s dotglob
du -shc -- *