Sort files and directories by size
Da lumacawiki.
To list the files and directories (in the current directory) in the descending order of file size.
$ du -sk * | sort +0nr
Listing only the directories (in the current directory) in descending order of size:
$ du --max-depth=1 . | sort -nr
Since the sub-directories also contains files; lets list all the files (not directories) in the descending order of file sizes
$ find . -type f -exec du -sk {} \; | sort -nr
If you want to restrict find to the current directory only and not the sub-directories, use maxdepth=1. i.e.
$ find . -maxdepth 1 -type f -exec du -sk {} \; | sort -nr
source http://unstableme.blogspot.com/2009/01/sort-files-and-directories-by-size.html