find . -path ./Trash -prune -o -type f -o -type d -print0 | xargs -0 -n1 du -ms | sort -g
Often we are faced with the situation of running out of disk storage, and we have to quickly find some large files to delete to free up the storage as soon as possible.
When faced with this situation on Windows OS, I immediately turn to WinDirStat to visualize the storage consumed by various files and directories, so that I can quickly delete them and free up some space and get on with my life.
Bus since I use Linux, macOS, or some other variant of Unix OS nowadays, I came up with the following quick and dirty command to find and delete large files or directories.
Note that I have a directory named
Trash that I move files to, before finally
deleting them for good. Hence I exclude this directory from my search.
find ./ -path ./Trash -prune -o -type f -o -type d -print0 | xargs -0 -n1 du -ms | sort -g
This command emits a sorted list of largest files and directories under the currrent active directory.