We're an ISO27001:2013 Certified Supplier

Various Linux commands can present file and directory sizes in “human readable” format, where they append a “K” or “M”, etc, to indicate the file size; for example:

# du -sh *
960K auth.log.1
124K daemon.log
8.0K dpkg.log.5.gz
2.1M mcollective.log.3
56K messages

If we want to sort them by size, the sort command by itself isn’t much help. That’s because, by default, sort implements a lexical sort, and thus “2.1M” is sorted above “56K”, despite human beings recognising that the second is smaller:

# du -sh *|sort
124K daemon.log
2.1M mcollective.log.3
56K messages
8.0K dpkg.log.5.gz
960K auth.log.1

In a short list, it’s easy to see that the mcollective.log.3 file is the largest, but what if we have a long list? The sort command now takes a “-h” qualifier which understands the “human readable” format:

# du -sh *|sort -h
8.0K dpkg.log.5.gz
56K messages
124K daemon.log
960K auth.log.1
2.1M mcollective.log.3

Sorted, in more ways than one.

Could this Linux Tip be improved?

Let us know in the comments below.

Leave a Reply

Your email address will not be published. Required fields are marked *

Secure. Reliable. Scalable.

If that doesn't describe your current Linux systems, check out our FREE Linux Survival Guide to help you get your systems up to scratch today!

  • This field is for validation purposes and should be left unchanged.