Show dd Progress in Linux with these 2 Methods

The Linux dd command is a well-known tool to create live USB. One drawback of this tool is that it doesn’t show progress and thus you don’t know what’s going on while creating live USB. This tutorial explains how to show dd progress in 2 methods.

Show dd Progress with Status option

The dd command is part of the GNU core utilities, aka coreutils. A dd progress indicator has been built into this utility since coreutils version 8.24. To check the version of coreutils on your Linux OS, simply run this command:

Ubuntu 16.04, Debian 9 and Arch Linux-based distros has latest version 8.25. To let dd show progress you need to add status=progress option like below:

linux dd progress indicator

You can see how much has been copied, how many seconds has passed and write speed.
The exact device name for your USB drive can be obtained from fdisk command.

Monitor Progress of dd with PV

For those who don’t have access to coreutils v8.24+, this method is for you. pv is a pipe viewer which can be used to monitor the progress of data flow in Linux pipeline. To install it, issue the following command:

Debian/Ubuntu/Linux Mint



Arch Linux/Manjaro/Apricity OS

To see dd progress, combine pv and dd command like below.

| is the symbol for pipe in Linux. In the above command, pv puts the iso file into the pipe and dd will get the iso file from the pipe then write the iso file to your USB device identified by /dev/sdX.

You can get status of how much has been copied, how many seconds has passed, write speed, a percentage progress indicator and estimated remaining time.

I personally prefer dd over Unetbootin because dd always worked for me whereas sometimes live USB created by Unetbootin won’t boot.