As dd runs, it does not show you its progress; it only reports at the end when it is done--and that can take quite awhile for some jobs. There are a couple easy (non-expert) ways to see the progress of dd as it copies.
Do you have GNU Coreutils 8.24+ (Ubuntu 16.04 and newer)?
(1) If so, you can use status=progress in your dd statement. See below.
(2) If not, then you can use the utility pv in your dd statement. See below.
What version of coreutils do you have?
Here are four ways to check:
-- Muon, type coreutils, left-click on coreutils entry to highlight it, click the version tab.
-- At Konsole, run apt-cache policy coreutils
-- At Konsole, run sudo dpkg -s coreutils
-- Check the Ubuntu packages:
http://packages.ubuntu.com/search?keywords=coreutils
It shows the version according to each K(U)buntu version; for example:
Package coreutils
precise (12.04LTS) (utils): GNU core utilities, 8.13-3ubuntu3.3
trusty (14.04LTS) (utils): GNU core utilities 8.21-1ubuntu5.1
xenial (16.04LTS) (utils): GNU core utilities 8.25-2ubuntu2
yakkety (16.10) (utils): GNU core utilities 8.25-2ubuntu2
zesty (utils): GNU core utilities 8.25-2ubuntu2
Btw, what is coreutils?
https://en.wikipedia.org/wiki/GNU_Core_Utilities
http://www.gnu.org/software/coreutils/coreutils.html
(1) dd progress for GNU Coreutils 8.24+ (K(U)buntu 16.04 and newer)
--> Use the status=progress option in your dd statement.
See man dd (at Konsole in your K(U)buntu 16.04 or newer version OS).
Example To zero-out a 16 GB flashdrive and see the progress as dd executes:
Code:
[FONT=Liberation Serif][COLOR=#000000]mike@mike-All-Series:~$ [/COLOR][SIZE=3][COLOR=#000000][B]sudo dd if=/dev/zero of=/dev/sdb bs=16M status=progress[/B][/COLOR][/SIZE][/FONT] [COLOR=#000000][FONT=Liberation Serif]...[/FONT][/COLOR] [COLOR=#000000][FONT=Liberation Serif]it will show you the #bytes completed and the rate (MB/s) as it goes along; and when done, it shows you the result:[/FONT][/COLOR] [FONT=monospace] [FONT=Liberation Serif]1593835520 bytes (1.6 GB, 1.5 GiB) copied, 46.8188 s, 34.0 MB/s ...[/FONT][/FONT] [FONT=Liberation Serif][COLOR=#000000]1610612736 bytes (1.6 GB, 1.5 GiB) copied, 71.1188 s, 22.6 MB/s[/COLOR] ...[/FONT] [FONT=Liberation Serif][COLOR=#000000]2164260864 bytes (2.2 GB, 2.0 GiB) copied, 248.283 s, 8.7 MB/s [/COLOR] ... [COLOR=#000000]6325010432 bytes (6.3 GB, 5.9 GiB) copied, 1425.35 s, 4.4 MB/s [/COLOR] ...[/FONT] [FONT=Liberation Serif][COLOR=#000000]15602810880 bytes (16 GB, 15 GiB) copied, 4003.56 s, 3.9 MB/s [/COLOR] dd: error writing '/dev/sdb': No space left on device[/FONT] [FONT=Liberation Serif][COLOR=#000000]931+0 records in [/COLOR] 930+0 records out 15610576896 bytes (16 GB, 15 GiB) copied, 4508.64 s, 3.5 MB/s[/FONT]
(2) dd progress for GNU Coreutils older than GNU Coreutils 8.24
--> Use the pv utility in your dd statement.
First, get the pv package.
For example, run at Konsole: sudo apt-get install pv. Or, open Muon, type pv in the search window, mark it for Installation, and click Apply.
Then see man pv.
From the package description:
pv - Pipe Viewer - is a terminal-based tool for monitoring the progress of data through a pipeline. It can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is passing through, how long it has taken, how near to completion it is, and an estimate of how long it will be until completion.
Example Zero-out a 16 GB flashdrive and see the progress as dd executes
dd occurs twice in the statement below, and each occurrence requires sudo (sudo dd). Instead of doing it that way (which would also work), we will first get a root terminal using sudo su; then proceed (without sudo's); when done, issue an exit so we return to the normal user (non-root) prompt. The | is a pipe symbol. Like this:
Code:
mike@mike-desktop:~$ sudo su root@mike-All-Series:/home/mike# [B][SIZE=3]dd if=/dev/zero | pv -s 16G -pterb | dd of=/dev/sdb bs=16M[/SIZE][/B] ... as it goes along, it will show you its progress from time to time ... and then it will finish: 0+188740 records in 0+188739 records out 14.5GiB 1:11:08 [3.49MiB/s] [====================================> ] 90% 15610576896 bytes (16 GB, 15 GiB) copied, 4268.09 s, 3.7 MB/s root@mike-All-Series:/home/mike# exit exit mike@mike-All-Series:~$
See man pv. Thus, we used the five default options -pterb, along with our estimate of the size of the copy, which we set at 16 GiB: -s 16G . If you want progress reports on percent complete, you must supply an estimate of the size; i.e., you must use the -s option.
Leave a comment: