Directories sizes

Hello everyone,
can anybody help me in finding a way to obtain a list of all the directories and their sizes.
I would like to be able to run this and obtain an output like a tree structure with each branch saying how much space it is taking up .
Hope you can point me in the right direction.
Thanks !

---------- Post updated at 11:45 AM ---------- Previous update was at 11:37 AM ----------

I found this .... it seems ok.
find . -type d -exec du -sk {}

The output from "find" is not sorted and also probably needs the "-xdev" switch to stop it looking at other mountpoints. Also be aware that "du" without the "-x" switch can follow links to other filesystems.
Depends what you want.

Maybe try something like this (the exact syntax depends on your O/S and version):

find . -type d -xdev -print | sort | xargs du -skx