Andrew Mercer
on this page
    du -sh /var/log                        # one total, human-readable
    du -h --max-depth=1 /var | sort -h     # one level down, sorted by size
    du -ah . | sort -rh | head -20         # largest files and directories under here
    du -x -h --max-depth=1 /               # do not cross filesystem boundaries
    du -sh -- */ | sort -h                 # sizes of each subdirectory of the current one
    

    Units: -h (1024-based, K/M/G), --si (1000-based), or a fixed block size with -B / --block-size:

    du -a --block-size=M      # megabytes
    du -a --block-size=G      # gigabytes
    

    If you do not specify a unit, du uses the BLOCKSIZE (or DU_BLOCK_SIZE) environment variable, otherwise 1 KiB blocks. du counts allocated blocks, so sparse files and deleted-but-open files can make it disagree with df (see lsof). For an interactive view use ncdu.