Dd (command)

From wikieduonline
Jump to navigation Jump to search

dd[1][2] is a command-line utility for Linux and 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]
conv=notrunc,noerror[4]. notrunc is only important to prevent truncation when writing into a file. This has no effect on a block device such as sda or sdb[5]

Examples[edit]

  • Write a 10G file with random data: 10 G (bs=10G count=1), with random data (/dev/urandom)[6]:

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
status=progress not supported on macOS
  • 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)
  • if=/dev/vda | gzip -1 | ssh your.server.com dd of=/mnt/storage/imagename.img.gz


Activities[edit]

Basic

  1. Write a 10GB file with random data and review your disk performance: dd iflag=fullblock if=/dev/urandom of=sample_output_file.txt
  2. Read Linux I/O Performance Tests using dd: https://www.thomas-krenn.com/en/wiki/Linux_I/O_Performance_Tests_using_dd
  3. /Benchmark disk performance using dd/

Advanced

  1. Understand iflags, such us fullblock iflag=fullblock meaning
  2. Try to interrupt/kill your command: dd iflag=fullblock if=/dev/urandom of=sample_output_file.txt bs=10G count=1 and explain outcome.

Related terms[edit]

See also[edit]

  • http://man7.org/linux/man-pages/man1/dd.1.html
  • https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html#dd-invocation
  • https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html#dd-invocation
  • https://askubuntu.com/a/227933
  • https://stackoverflow.com/a/20531600
  • https://superuser.com/a/470957
  • Advertising: