Linux dd Command Show Progress Copy Bar With Status

Method 1: New status option added to dd (GNU Coreutils 8.24+)

dd in GNU Coreutils 8.24+ (Ubuntu 16.04 and newer) got a new status option to display the progress:


dd if=/dev/urandom of=/dev/null bs=64M status=progress


462858752 bytes (463 MB, 441 MiB) copied, 38 s, 12,2 MB/s

Method 2: By using pv

Install pv and put it between input / output only dd commands.

Note: you cannot use it when you already started dd.


sudo apt-get install pv


dd if=/dev/urandom | pv | dd of=/dev/null


1,74MB 0:00:09 [ 198kB/s] [      <=>                               ]

You could specify the approximate size with the --size if you want a time estimation.

Example Assuming a 2GB disk being copied from /dev/sdb

Command without pv would be:

sudo dd if=/dev/sdb of=DriveCopy1.dd bs=4096

Command with pv:

sudo dd if=/dev/sdb | pv -s 2G | dd of=DriveCopy1.dd bs=4096


440MB 0:00:38 [11.6MB/s] [======>                             ] 21% ETA 0:02:19

Other uses

You can of course use pv directly to pipe the output to stdout:

sudo pv -n /dev/urandom | dd of=/dev/null
sudi pv -tpreb source.iso | dd of=/dev/BLABLA bs=64M


50,2MB 0:00:06 [8,66MB/s] [=======>         ] 49% ETA 0:00:06

Note that in this case, pv recognizes the size automatically.

Leave a Reply

Your email address will not be published. Required fields are marked *