En mi sistema Ubuntu, usando ext4, du -b fileda el tamaño en bytes de un archivo real, y du -b dirda el tamaño en bytes del archivo (s) + sobrecarga del directorio. La sobrecarga es, en mi caso, múltiplos de 4096 bytes.
Esta sobrecarga aumenta a medida que aumenta el número de archivos.
Nota: incluso si se eliminan los archivos, la sobrecarga del directorio permanece en el nivel más alto que tenía antes de eliminar los archivos.
No he intentado reiniciar para ver si se revierte, pero en cualquier caso, esto significa que el tamaño del directorio varía según las circunstancias históricas.
El recuento de cada tamaño de archivo puede ser la mejor opción para obtener un valor preciso del tamaño total de los archivos .
El siguiente script totaliza todos los tamaños de archivo (en bytes).
Para OS X, si no tiene la -bopción para 'du', puede usarla staten su lugar. (Si la tiene :) ... La línea comentada muestra la statalternativa de Ubuntu a du -b;
unset total
while IFS= read -r -d $'\0' rf; do
# (( total += $(stat "$rf" | sed -nre 's/^ Size: ([0-9]+).*/\1/p') ))
(( total += $(du -b "$rf" | cut -f 1) ))
done < <(find . -type f -name '*' -print0)
echo $total