How to control status output of the dd utility

Control the amount of information printed out to standard error by the dd utility.


→ Behavior for the default status level

Default status level will display record count and final transfer rate.

$ sudo dd if=/dev/sda1 of=sda1.backup
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 2.8781 s, 187 MB/s

Send SIGUSR1 signal to display this information anytime the process is running.

$ sudo dd if=/dev/sda1 of=sda1.backup
51752+0 records in
51752+0 records out
26497024 bytes (26 MB, 25 MiB) copied, 0.116486 s, 227 MB/s
524747+0 records in
524747+0 records out
268670464 bytes (269 MB, 256 MiB) copied, 1.14716 s, 234 MB/s
968232+0 records in
968231+0 records out
495734272 bytes (496 MB, 473 MiB) copied, 2.18472 s, 227 MB/s
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 2.43469 s, 221 MB/s

Use pkill utility to send SIGUSR1 signal to one or multiple dd processes.

$ pkill --uid $(whoami) --signal SIGUSR1 ^dd$

→ Behavior for the none status level

none status level will suppress record count and final transfer rate.

$ sudo dd if=/dev/sda1 of=sda1.backup status=none

SIGUSR1 signal will be suppressed.

This will not suppress error messages.


→ Behavior for the noxfer status level

noxfer status level will display record count and suppress final transfer rate.

$ sudo dd if=/dev/sda1 of=sda1.backup status=noxfer
1048576+0 records in
1048576+0 records out

SIGUSR1 signal will display record .

$ sudo dd if=/dev/sda1 of=sda1.backup status=noxfer
71355+0 records in
71355+0 records out
451017+0 records in
451016+0 records out
640885+0 records in
640885+0 records out
887529+0 records in
887528+0 records out
1048576+0 records in
1048576+0 records out

→ Behavior for the progress status level

progress status level will periodically display transfer rate during its operation. Record count and final transfer rate will be printed on exit.

$ sudo dd if=/dev/sda1 of=sda1.backup status=progress
527663616 bytes (528 MB, 503 MiB) copied, 3 s, 174 MB/s
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 3.21736 s, 167 MB/s

Send SIGUSR1 signal to display record count and transfer rate anytime the process is running, but this operation does not make any sense in this usage scenario as it creates real mess on the screen

$ sudo dd if=/dev/sda1 of=sda1.backup status=progress
191429632 bytes (191 MB, 183 MiB) copied, 1 s, 191 MB/s
378080+0 records in
378079+0 records out
193576448 bytes (194 MB, 185 MiB) copied, 1.01105 s, 191 MB/s
361564160 bytes (362 MB, 345 MiB) copied, 2 s, 181 MB/s
718580+0 records in
718580+0 records out
367912960 bytes (368 MB, 351 MiB) copied, 2.03974 s, 180 MB/s
512001024 bytes (512 MB, 488 MiB) copied, 3 s, 171 MB/s
1019053+0 records in
1019053+0 records out
521755136 bytes (522 MB, 498 MiB) copied, 3.05793 s, 171 MB/s
1048576+0 records in
1048576+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 3.36653 s, 159 MB/s