Often times, there is a need to check the size of directories or files in a project, or to evaluate the space a directory occupies in a live/development server, or just at our local machine.
Here is a list of useful commands that you can leverage to make sure the available disk space of your machine is normal and that the huge node_modules
directory size of your project hasn't gone crazy :D
We will use the du command, which is explained below:
du (disc usage) command estimates file_path space usage
The options -sh are (from man du):
-s, --summarize
display only a total for each argument
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
To check more than one directory and see the total, use du -sch:
-c, --total
produce a grand total
So, let's see the basic commands:
Shows you the size of the directory in readable format:
$ du -sh directory/
Shows you a list with all the directories along with their sizes, ordered by size:
$ du -sh * | sort -h
Example in my example flutter project:
paul@paul-Inspiron-N5110:~/projects/flutter_test$ du -sh * | sort -h
4,0K android.iml
4,0K flutter_test_android.iml
4,0K flutter_test.iml
4,0K pubspec.yaml
4,0K README.md
8,0K test
12K lib
200K android
212K ios
Also, if you want to include hidden files and directories, you can run:
$ du -sch .[^.]* * |sort -h
Bonus:
Outputs the total and available size of your system's paritions
$ df -h
Outputs the inodes usage in your system:
$ df -i
If you have more useful commands to share, leave them in the comments below!