Networking HowTos
Networking HowTos

List Folder and File Size and Sort By Size on Linux

January 31, 2013 Linux

A common requirement on any operating system is to be able to view the total size of a list of folders and files on the file system, and be able to sort the list by size. Generally this isn’t straight forward to do. The commands below can be used to do just that.
Display folder sizes and sort in ascending order:

$ du -sBM * | sort -n

Example:

$ du -sBM * | sort -n
0M      man
1M      etc
1M      games
1M      include
1M      sbin
1M      src
3M      lib
4M      bin
27M     share
$

Display folder sizes and sort in descending order:

$ du -sBM * | sort -nr

Example:

$ du -sBM * | sort -nr
27M     share
4M      bin
3M      lib
1M      src
1M      sbin
1M      include
1M      games
1M      etc
0M      man
$

List Sizes with an overall total:

$ du -csBM * | sort -n

Example:

$ du -csBM * | sort -n
0M      man
1M      etc
1M      games
1M      include
1M      sbin
1M      src
3M      lib
4M      bin
27M     share
33M     total
$

Create an alias:
If you often need to check folder and file sizes, rather than memorize the above commands, you can set up an alias, and put it in your .bashrc file so its always available.

$ alias du-sort="du -csBM * | sort -n"

Then you can just issue the command using:

$ du-sort

Example:

$ du-sort
0M      man
1M      etc
1M      games
1M      include
1M      sbin
1M      src
3M      lib
4M      bin
27M     share
33M     total
$

Add this alias to the .bashrc file in your home folder. This may change depending on your distribution.

$ nano ~/.bashrc

Simply add the alias line to the end of this file, save it, log out, and log back in, and you should still be able to use the ‘du-sort’ command.

You Might Also Like