Difference between revisions of "Dd (command)"

From wikieduonline
Jump to navigation Jump to search
Tags: Mobile web edit, Mobile edit
Tags: Mobile web edit, Mobile edit
Line 6: Line 6:
 
:<code>oflag=sync</code><ref>https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html#dd-invocation</ref>
 
:<code>oflag=sync</code><ref>https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html#dd-invocation</ref>
 
:<code>iflag=[fullblock|nocache]</code>
 
:<code>iflag=[fullblock|nocache]</code>
:conv=notrunc,noerror
+
:<code>conv=notrunc,noerror</code><ref>https://askubuntu.com/a/227933</ref>
  
 
== Examples ==
 
== Examples ==

Revision as of 08:31, 25 August 2020

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]

Examples

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

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


1) Copy content: sudo dd if=/dev/sdt of=~/sd-card-clone.img
2) Change card
3) Overwrite card with copied image: sudo dd if=~/sd-card-copy.img of=/dev/sdt

Activities

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

See also

  • 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://superuser.com/a/470957
  • https://askubuntu.com/questions/227924/sd-card-cloning-using-the-dd-command
  • Advertising: