Atlantic.Net Blog

How to Find the Total Size of a Directory in Linux

Hitesh Jethva
by Atlantic.Net (395 posts) under Dedicated Server Hosting, Tutorials
0 Comments

Finding the size of the directory in Linux via the command line is very difficult for a beginner. du, also known as Disk Usage, is a Linux command-line utility that allows users to check the information on disk usage of files and directories on a system. The du command has many options that allow you to get the results in many formats.

In this post, we will show you how to find the size of a directory in Linux.

Prerequisites

  • A server running Linux on the Atlantic.Net Cloud Platform
  • A root password configured on your server

Create Atlantic.Net Cloud Server

First, log in to your Atlantic.Net Cloud Server. Create a new server, choosing any Linux operating system with at least 1GB RAM. Connect to your Cloud Server via SSH and log in using the credentials highlighted at the top of the page.

Basic Syntax of the du Command

The basic syntax of the du command is shown below:

du [OPTION]... [FILE]...

A brief explanation of each option is shown below:

  • -c – Produce a grand total
  • -h – Print sizes in a human-readable format
  • -S – For directories do not include the size of subdirectories
  • -a – Display the disk usage of all items including files and directories
  • -k – Display the disk usage size in kilobytes
  • -m – Display the disk usage size in megabytes
  • -X – Exclude certain file type

Find Current Directory Size

Running the du command without any options will display the size of the current directory including all of its sub-directories.

du

You will get the following output:

8	./html/example.com
20	./html
3424	./log/installer
84	./log/apache2
236	./log/apt
du: cannot read directory './log/gdm3': Permission denied
4	./log/gdm3
483588	./log/journal/cfefe3a7c8694e51879fb521a2021b2e
483592	./log/journal
64	./log/cups
500192	./log
509272	.

Find the Size of the Specific Directory

To find the size of the specific directory, run the du command by specifying a directory:

du /var/www/html

This command will display the size of the html directory, including all of its sub-directories:

8	/var/www/html/example.com
20	/var/www/html

If you want to find the size of the multiple directories, run the following command:

du /home/vyom/Music/ /home/vyom/Downloads

You will get the following output:

4996	/home/vyom/Music/
8	/home/vyom/Downloads/html/example.com
20	/home/vyom/Downloads/html
3424	/home/vyom/Downloads/log/installer
84	/home/vyom/Downloads/log/apache2
236	/home/vyom/Downloads/log/apt
4	/home/vyom/Downloads/log/gdm3
483588	/home/vyom/Downloads/log/journal/cfefe3a7c8694e51879fb521a2021b2e
483592	/home/vyom/Downloads/log/journal
64	/home/vyom/Downloads/log/cups
500192	/home/vyom/Downloads/log
509272	/home/vyom/Downloads

Find the Directory Size in Human Readable Format

By default, the du command will display size in bytes. You can use the -h option with the du command to display the size of the directory in a human-readable format.

du -h Downloads/

You will get the following output:

8.0K	Downloads/html/example.com
20K	Downloads/html
3.4M	Downloads/log/installer
84K	Downloads/log/apache2
236K	Downloads/log/apt
4.0K	Downloads/log/gdm3
473M	Downloads/log/journal/cfefe3a7c8694e51879fb521a2021b2e
473M	Downloads/log/journal
64K	Downloads/log/cups
489M	Downloads/log
498M	Downloads/

Find the Directory Size in a Specific Format

You can also display the directory size in KB, MB, or GB. For example, to display the directory size in megabytes, use the -m option:

du -m Downloads/

You will get the following output:

1	Downloads/html/example.com
1	Downloads/html
4	Downloads/log/installer
1	Downloads/log/apache2
1	Downloads/log/apt
1	Downloads/log/gdm3
473	Downloads/log/journal/cfefe3a7c8694e51879fb521a2021b2e
473	Downloads/log/journal
1	Downloads/log/cups
489	Downloads/log
498	Downloads/

To display the directory size in kilobytes, use the -k option:

du -k Downloads/

You will get the following output:

8	Downloads/html/example.com
20	Downloads/html
3424	Downloads/log/installer
84	Downloads/log/apache2
236	Downloads/log/apt
4	Downloads/log/gdm3
483588	Downloads/log/journal/cfefe3a7c8694e51879fb521a2021b2e
483592	Downloads/log/journal
64	Downloads/log/cups
500192	Downloads/log
509272	Downloads/

Find the Total Size Of The Directory

You can use the du command with the -hs option to display the total size of the specified directory in a human-readable format.

du -sh /etc/

You will get the total size of the /etc directory in the following output:

16M	/etc/

If you want to display the grand total of the combined directories in human-readable format, use the -c option:

du -csh Downloads/ Music/ Pictures/

You will get the following output:

498M	Downloads/
4.9M	Music/
2.6M	Pictures/
505M	total

Find the Size of Both Files and Directories

You can use the du command with the -a option to find the size of both files and directories:

du -ah Downloads/

You will get the following output:

8.0K	Downloads/LocalSettings.php
4.0K	Downloads/html/index.html
4.0K	Downloads/html/index.nginx-debian.html
4.0K	Downloads/html/example.com/index.html
8.0K	Downloads/html/example.com
20K	Downloads/html
8.9M	Downloads/apache-zookeeper-3.5.6-bin.tar.gz
4.0K	Downloads/image.png
8.9M	Downloads/

Sort Directories By Their Size

If your system is running out of disk space and you want to find out which directories consume the most disk size, use the following command to sort all directories by their size:

du -h --max-depth=1 /var/log | sort -hr

You will get the following output:

1.9G	/var/log/journal
1.9G	/var/log
3.4M	/var/log/installer
476K	/var/log/teamviewer15
240K	/var/log/apt
100K	/var/log/unattended-upgrades
84K	/var/log/apache2
68K	/var/log/nginx
64K	/var/log/postgresql
64K	/var/log/cups
40K	/var/log/mysql
8.0K	/var/log/hp
4.0K	/var/log/sysstat
4.0K	/var/log/speech-dispatcher
4.0K	/var/log/gdm3
4.0K	/var/log/dist-upgrade

Conclusion

In this post, we explained how to find the size of a directory with different examples. You can now use the du command with different options to achieve your desired result. Try it on dedicated hosting from Atlantic.Net!

Get A Free To Use Cloud VPS

Free Tier Includes:
G3.2GB Cloud VPS Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year


Looking for a Hosting Solution?

We Provide Cloud, Dedicated, & Colocation.

  • Seven Global Data Center Locations.
  • Flexible Private, Public, & Hybrid Hosting.
  • 24x7x365 Security, Support, & Monitoring.
Contact Us Now! Med Tech Award FTC
SOC Audit HIPAA Audit HITECH Audit

Recent Posts

How to Install Apache Solr on Oracle Linux 8
How to Install Apache Cassandra on Oracle Linux 8
How to Install Yarn NPM Package Manager on Oracle Linux 8
How to Install Apache Spark on Oracle Linux 8
How to Install Docker and Docker Compose on Oracle Linux 8

Get started with 12 months of free cloud VPS hosting

Free Tier includes:
G3.2GB Cloud VPS Server Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year


New York, NY

100 Delawanna Ave, Suite 1

Clifton, NJ 07014

United States

San Francisco, CA

2820 Northwestern Pkwy,

Santa Clara, CA 95051

United States

Dallas, TX

2008 Lookout Dr,

Dallas, Texas 75044

United States

Ashburn, VA

1807 Michael Faraday Ct,

Reston, VA 20190

United States

Orlando, FL

440 W Kennedy Blvd, Suite 3

Orlando, FL 32810

United States

Toronto, Canada

20 Pullman Ct, Scarborough,

Ontario M1X 1E4

Canada

London, UK

14 Liverpool Road, Slough,

Berkshire SL1 4QZ

United Kingdom

Resources