The “du” Command in Linux [14 Practical Examples]

LINUX
FUNDAMENTALS
A Complete Guide for Beginners Enroll Course Now

The du command in Linux is used to view disk space consumed by files and directories. It can be handy to keep track of how much space is used by whom, especially for systems with low storage. Moreover, it has a lot of options so that anyone can customize it according to his needs. In this article, I will show you how to use the du command in Linux with a lot of practical examples.

A. Description

The “du” in the du command in Linux stands for “Disk Usage” which is literary what the command does, shows disk usage. It is a standard program in Unix/Unix-like operating systems. Currently, it is part of GNU Coreutils. By default, the du command shows space in the unit of 1KB. However, the availability of different options makes it highly useful.

B. Syntax

The du command in Linux is simple to use. It can take multiple options and arguments at the same time.

du [OPTION]... [FILE]...
Note: In the above syntax OPTION and FILE  enclosed by square brackets and followed by 3 dots represent that multiple options and arguments can be utilized at the same time.

C. Options

The du command in Linux has a lot of options. You can use those options to customize your output. You can check them yourself by typing the command below in the Ubuntu terminal, it will take you to the manual page of the du command in Linux.

man du

Useful Options

  • -a, –all ( shows all files including directories)
  • –apparent-size ( displays apparent sizes rather than disk usage)
  • -B, –block-size ( is used to define a new scale)
  • -c, –total (shows grand total at the end)
  • -h, –human-readable ( prints disk usage in human-readable format)
  • -S, –separate-dirs ( doesn’t show subdirectories)
  • –si ( uses 1000 as the scale)
  • -s, –summarize ( shows only total disk usage)
  • –time ( is used to show last modification time, access time etc.)

Note: The options in Linux CLI (Command Line Interface) are all case-sensitive, So be careful while using them.

Practical Examples of the “du” Command in Linux

In this section, I will show you some practical examples of the du command in Linux. I used the directory tree below.

To download all those materials, click on the button below.

Example 1: Disk Usage of a Single File

For the starter, I will show you how to view the amount of disk space used by a single file using the du command in Linux. I will use the hello file here. Now follow the steps below:

  1. At first open a Ubuntu Terminal
  2. Type the following command below in the command prompt:
    du hello
  3. Now, press the ENTER button.

You will see an output like the one below. The number on the left is the size of the file. As I have mentioned earlier, The du command in Linux shows the size in the scale of 1KB by default. So, the file hello is 4KB in size.showing space usage of a single file using the du command in Linux

Example 2: Disk Usage for a Single Directory Using the “du” command in Linux

Now, you will see the space usage by a directory. I will use the walid directory for this purpose. You can also do that with me by following the steps below:

  1. At first launch, an Ubuntu terminal
  2. Now type the following command in the command prompt:
    du walid
  3. Then press the ENTER button on the keyboard

As you can see, the du command has listed out space usage of the walid directory and its subdirectory as well.Showing disk usage of a directory

Example 3: Disk Usage of a Directory Without Subdirectories

From example 2, you can see the du command in Linux lists the disk usage of subdirectories as well. But what if you want to know space usage excluding subdirectories? You can do that by doing the following. I will use the walid directory in this example too.

  1. At the beginning, press CTRL + ALT + T to open an Ubuntu Terminal
  2. Now input the following command in the command prompt:
    du -S walid
  3. Then Press the ENTER button.

If you remember, in the previous example, the size of the walid directory was 20, but now it is 4. why? Because you are seeing the size without the size of the subdirectory myfolder.Displaying disk usage of directory and subdirectory separately using the du command in Linux

Example 4: Disk Usage in Human Readable Format Using the “du” command in Linux

As humans, we are used to certain types of data units (like Kilo, Mega, Giga). Here, you can present your size unit in a human-readable format by using the du command in Linux. I will use the walid directory as well. Follow the steps below with me.

  1. At first, launch an Ubuntu Terminal
  2. Type the following command in the command prompt:
    du -h walid
  3. Now press the ENTER button on the keyboard.

Here, you can see the numbers 12K, and 16K which are pretty easy to understand and soothing for the eyes.Disk usage in human-readable format

Example 5: Disk Usage of Each File a Directory

In the du command in Linux, it is also possible to list each and every file and folder in a directory. I used the option -a” here, for that purpose. Also, I used the option “-h” to show you that you can combine multiple options. I used the walid directory as usual. Now follow these steps below:

  1. First of all, press CTRL + ALT + T to launch the Ubuntu terminal.
  2. Then type the following command in the command prompt:
    du -a -h walid

    OR,

    du -ah walid
  3. Now press the ENTER key.

You can clearly see all the files and subdirectories are shown here with their specific disk space size.Disk usage of each file using the du command in Linux

Example 6: Summary of Disk Usage Using the “du” command in Linux

You may not always desire to see the sizes of all directories and subdirectories, but rather the size of a particular directory. You will need to use the option “-s” for that purpose. I used the walid directory for the sake of this example. You can follow the steps with me below:

  1. Launch a Ubuntu terminal first.
  2. Type the following command in the command prompt:
    du -s -h walid

    OR,

    du -sh walid
  3. Now press the ENTER button from your keyboard.

Now the summary of disk usage of the walid directory is visible in the terminal. This example is useful for a directory with a lot of subdirectories and files.Summary of disk usage

Example 7: Total Disk Usage Using the “du” command in Linux

The du command in Linux provides an option to print grand total at the end of a list. You need to use the option “-c” which is quite hard to remember. I used the walid directory as the previous one. Now do the following:

  1. At the beginning, open a terminal in Ubuntu
  2. Type the following command in the command prompt:
    du -c walid
  3. Now press the ENTER button.

As you can see, there is an extra line at the end of the list with the title total.Grand total disk usage using the du command in Linux

Example 8: Disk Usage to a Particular Level

I guess it is safe to assume that you will see some directories with a lot of subdirectories and those subdirectories may have some subdirectories as well and so on. While using the du command in Linux, it is up to you to which length you want to print the disk usage. To understand it better, follow the steps below with me. As you have guessed, I will use the walid directory here:

  1. At first press CTRL + ALT + T on your keyboard
  2. Type the following command in the command prompt:
    du -d 1 walid
  3. Now press the ENTER button from your keyboard.

You will see an output like below. Now I have a question for you. What would happen if I put the number 0 instead of 1. You would only see the walid directory. I put the number 1, that’s why it is showing the myfolder subdirectory of walid directory. If I put the number 3, it would have shown the subdiretories of the myfolder subdirectory as well (if available).Showing disk usage to a certain depth

Example 9: Last Modification Time Using the “du” command in Linux

It is also possible to view the last modification time of a file or directory using the du command in Linux. I will use the option “–time” here. I used the file hello here. Now the steps below with me:

  1. At first, launch an Ubuntu terminal.
  2. Type the following command in the command prompt:
    du --time hello
  3. Press the ENTER button.

In the output, you will two new columns, one showing the date and the other one time of the last modification.Showing last modification time using the du command in Linux

Example 10: Last Access Time

To view the last access time, you need to provide a value to the option “–time”. The value can be atime, access, use, ctime or status (see the manual page for more). As I want to see the last access time, I will use the value access. I used the file hello here as well:

  1. At first, open a terminal in Ubuntu
  2. Type the following command in the terminal:
    du --time=access hello
  3. Press ENTER from your keyboard

Now you can see the last access time. And in our case, the last access time is different from the last modification time.Printing last access time

Example 11: Apparent Size Using the “du” command in Linux

Apparent and disk usage can be different. Disk usage means the physical space consumed by a file whereas apparent size counts the data on that file. I used the file hello here so that you can compare the result with example 1. You can do the following to know the apparent size:

  1. At first open an Ubuntu terminal by pressing CTRL + ALT +T.
  2. Now type the following command in the command prompt:
    du --apparent-size hello
  3. Now press the ENTER button.

So, you can see, the disk usage of the hello file is 4 and the apparent size is 1.Apparent size using the du command in Linux

Example 12: Disk Usage in Specific Block Size

The “–block-sizeoption in the du command in Linux is used to define your own scale. Let’s say I want to see the disk usage on a scale of 100, I need to provide 100 as the value of that option. I will use the walid directory here. Now do the following with me:

  1. Launch an Ubuntu Terminal first.
  2. Type the following command in the command prompt:
    d --block-size=100 -s walid
  3. Then press the button ENTER from your keyboard.

See, the output is on a scale of 100 now. You can compare it with previous examples and see the difference.Disk usage in a given scale

Note: I used the option “-s” to view the summary. Using it is not mandatory.

Example 13: Disk Usage in Human-Readable Format with Power of 1000

Now let’s say you want to view disk usage on a scale of 1000. You can use the option “–block-size” from example 12 and provide it a value of 1000. Or, you can use the option “–si” which I will do here. I used the directory walid here. Follow the steps below:

  1. At first, open a terminal in Ubuntu.
  2. Type the command below in the command prompt:
    du --si -s walid
  3. Now press the ENTER button.

Now you can see the output on the scale of 1000 which is 17k. When the scale 1024 was used it was 16k. So it totally makes sense.Disk usage on the scale of power 1000 using the du command in Linux

Note: I used the option “-s” to view the summary. Using it is not mandatory.

Example 14: Disk Usage in the scale of 1MB Using the “du” command in Linux

Viewing disk usage in the scale of 1MB is also possible using the du command in Linux. For this purpose, you need to use the option “-m”. I used the walid directory here as well. You can do it with me by following the steps below:

  1. Press CTRL + ALT + T to open an Ubuntu Terminal
  2. Type the following command in the command prompt:
    du -m -s walid

    OR,

    du -ms walid
  3. Press the ENTER button from your keyboard.

As you can see, the output is now in the scale of 1MB.Disk usage on scale of 1MB

Note: I used the option “-s” to view the summary. Using it is not mandatory.

Conclusion

The du command in Linux is a useful command and you can use it on a day-to-day basis. Practicing the examples above will help you to have a farm grep on the du command in Linux.


Similar Readings

Rate this post
Walid Al Asad

Hello Everyone! I am Walid Al Asad. Currently, I am working at a tech company named Softeko as a Linux Content Developer Executive. I live in Dhaka, Bangladesh. I have completed my BSc. in Mechanical Engineering from Bangladesh University of Engineering and Technology (BUET). You can find me on LinkedIn, and ResearchGate. Read Full Bio

Leave a Comment