At some point, we all face the problem of free space on our hard drives. I usually check how much space a particular folder takes with the du
terminal command. It shows the size of the folder itself and its subfolders.
$ du node_modules
0 node_modules/.bin
72 node_modules/commander/typings
240 node_modules/commander/lib
456 node_modules/commander
8 node_modules/prettier/bin
12416 node_modules/prettier/plugins
248 node_modules/prettier/internal
15304 node_modules/prettier
32 node_modules/chalk/source/vendor/supports-color
32 node_modules/chalk/source/vendor/ansi-styles
64 node_modules/chalk/source/vendor
104 node_modules/chalk/source
144 node_modules/chalk
15928 node_modules
To make it prettier we need to pass a couple of parameters. -h
for "human readable" output and -d
controls depth directories deep.
$ du -h -d 1 node_modules
0B node_modules/.bin
228K node_modules/commander
7.5M node_modules/prettier
72K node_modules/chalk
7.8M node_modules
Now we can sort the output with the sort
command. Where -h
is for "human numeric" sort and -r
for reverse.
$ du -h -d 1 node_modules | sort -hr
7.8M node_modules
7.5M node_modules/prettier
228K node_modules/commander
72K node_modules/chalk
0B node_modules/.bin
Looks good, right? But could we have a simpler command with better defaults?
Yes! Meet hdu the human-friendly du
wrapper.
Please make sure you have Node.js installed on your machine.
Type npx hdu node_modules
to get information about the node_modules
folder.
By default, it will display the sizes of all directories from the selected folder (or current folder if not specified) and sort them descending by their size.
Did you notice that the
.bin
directory is not in the list? That's because its size is equal to zero. 🥲
We can also display files with the --include-files
option.
There is a --sort
option to change the sorting order.
And if we need only the first results, we can use the --head
option.
Please try hdu, give it a star 🌟, and happy hacking! 💻
Credits
Photo by Art Wall - Kittenprint on Unsplash
Top comments (0)