I use this to quickly find biggest offenders of disk-space robbing. First of all du ("disk usage") needs to be used to print out the files under the chosen directory:
du $1
Unfortunately this prints every single file and its size in blocks of 1024 bytes. To make it more useful, we can add a -d 1 flag to limit directory-depth to 1 and -h for a human readable output of the file size:
du -h -d 1 $1
This is much more useful however the output is unsorted so it's not immediately obvious which directories take up most space. We can pipe du's ouput to sort:
du -h -d 1 $1 | sort
The output is sorted, however it's done lexicographically, meaning the human-readable sizes are misinterpreted as strings.. To sort the output by human-readable sizes, use the -h flag:
du -h -d 1 $1 | sort -h
Lastly, you can reverse the ordering of sort, to print the largest directories at the top. The final command looks like this:
du -h -d 1 $1 | sort -hr
Original publication date: 28/09/22 23:39:39
Last edit date: 28/06/23 19:57:08