When your harddrive is filling up the
du utility is a great way of seeing what's taking up all the space.
It can recursively walk through directories to a maximum depth, and print it in human readable sizes.
I'll normally start by running
df to see what space is used and available.
It's worth looking at the
Mounted On column if you don't administer the machine because sometimes there are special partitions for large files.
Then I'll navigate to the mounted directory and run:
du -h -d2 . | sort -hr | head -n20
The first command
du -h -d2 . means get the size of all files and directories (
du) for the current directory
., print up them to a maximum depth of 2 (
-d2) in a human readable format
-h (e.g. 2.1G instead of 2646 which is the number of 1 MB blocks).
sort the human readable (
-h) results in reverse (
Finally we take the top 20 lines with
Check out explainshell for great breakdowns of commands like this.
This will then show the 20 largest files/directories up to 2 levels under the current directory which I can then assess for clean up.
This sometimes takes a while to produce any output because it has to go through all the files before
sort can work.
Be careful if you ever run this in the root directory
/ to exclude things like
/proc or you'll get a lot of weird errors.
Next time your hard drive is filling up try out
du; it's available on Linux and Mac and even works in Windows under WSL.