Dd (command)
dd
[1][2] is a command-line utility for Unix-like operating systems used to copy or create files on block devices (HDD).
Warning: write operations will not ask for confirmation if you are overwriting an existing file.
Options:
oflag=sync
[3]iflag=[fullblock|nocache]
Examples
dd iflag=fullblock if=/dev/urandom of=sample_output_file.txt bs=10G count=1 status=progress
10737418240 bytes (11 GB, 10 GiB) copied, 66 s, 162 MB/s 1+0 records in 1+0 records out 10737418240 bytes (11 GB, 10 GiB) copied, 66.4367 s, 162 MB/s
- Write a 10G with zeroes: 10 G (
bs=10G count=1
), file with "zeroes" (/dev/zero
):
dd iflag=fullblock if=/dev/zero of=sample_output_file.txt bs=10G count=1 status=progress
10737418240 bytes (11 GB, 10 GiB) copied, 66 s, 162 MB/s 1+0 records in 1+0 records out 10737418240 bytes (11 GB, 10 GiB) copied, 66.4367 s, 162 MB/s
dd iflag=fullblock if=/dev/zero of=sample_output_file.txt bs=10G count=1 dd: memory exhausted by input buffer of size 10737418240 bytes (10 GiB)
Activities
Basic
- Write a 10GB file with random data and review your disk performance:
dd iflag=fullblock if=/dev/urandom of=sample_output_file.txt
- Read Linux I/O Performance Tests using dd: https://www.thomas-krenn.com/en/wiki/Linux_I/O_Performance_Tests_using_dd
- /Benchmark disk performance using dd/
Advanced
- Understand iflags, such us fullblock
iflag=fullblock
meaning - Try to interrupt/kill your command:
dd iflag=fullblock if=/dev/urandom of=sample_output_file.txt bs=10G count=1
and explain outcome.
See also
Advertising: