In Linux, the popular command-line utility dd used to transfer data from a file or block device to another for a variety of tasks, such as backup creation, bootable USB device creation, data compression, and many more.

The problem with the dd command is that when you issue it to perform the mentioned actions, it will initiate the process without notifying the user with a progress bar, ultimately causing confusion about whether the process has started, stalled, or how much longer it will take.

For example, if you execute the following dd command right away in your system, which is to create a 4 GB virtual disk, you will notice it begins the process without any output.

  • dd if=/dev/zero of=zero_file bs=1M count=4092

Output:

execute dd command to create virtual disk

The output for the above command will only be presented once the process is complete, including multiple details such as records in/out, copied data, timing, etc.

dd command result of creating virtual disk

In this case, it took 59 seconds to complete this process, but this depends on various factors, such as system resources. If you are creating a bootable USB device, it also depends on your USB speed. So, to make the process transparent, you can use the following methods to show a progress bar for the dd command:

How to Show Progress Bar on dd Command

Prior to moving forward, there are two different ways to show the dd command's progress. The first method involves using an additional flag, which doesn't require installation and comes highly recommended.

The other requires the installation of an additional package but it's useful if you forget to add the additional flag and now don't want to interrupt the process in the middle but instead just want to check the progress.

I'll show you the steps for both so you can be ready for different circumstances. So let's begin with…

Showing Progress of the dd Command Using Aditional Option

Adding the status=progress flag is the simplest and shortest way to show a progress bar for the dd command.

  • dd if=/dev/zero of=zero_file bs=1M count=4092 status=progress

Previously, executing the dd command showed no output while in action, but now, with the mentioned flag, it will display the command's live progress.

show dd command progress

This way, you can check the live progress of any dd command by adding a simple flag, ensuring the screen does not remain blank.

Showing Progress of the dd Command Using Progress Utility

The progress is a popular command-line utility for displaying progress for various command-line tools like cp, mv, dd, rsync, and more. Its standout feature is its availability in the most popular Linux repositories, as well as easy installation via the default package manager.

Another thing I want to highlight about this tool is that the commands do not require flag punching. So, if you already issued a dd command and later realized that you needed to check the progress, just open a new terminal tab, issue progress command, and there you have the live progress of the command without interrupting the actual command.

So, to install it on your Linux system, open your terminal and execute one of the following commands, depending on your Linux distribution:

  • For Debian, Ubuntu, Mint, Pop!_OS, etc.
  • sudo apt install progress
  • For RedHat, Fedora, CentOS, AlmaLinux, etc.
  • sudo dnf install progress
  • For Arch, Manjaro, EndeavourOS, etc.
  • sudo pacman -S progress

Once the installation is complete, you can execute the dd command as usual, and whenever you want to check its progress, simply open a new terminal tab and issue the progress command to view the live progress snapshot.

checking dd command live progress snapshot

That's it! This way, you can choose to check the progress of the dd command in two different ways.