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.