dd is a traditional utility for binary data copies

dd is a command to copy input to output, granting control over the block size and allowing partial copies and progress reports as well as endianness, case and ASCII/EBCDIC translations. It is a traditional Unix command, able from the start to cope with binary data.

A major limitation of dd is that it copies blocks, and does not count partial blocks specially, so it may copy less data than intended. dd is also not particularly fast.

Although dd is very often mentioned in tutorials as a way to copy disk images, all the “magic” is in fact in the /dev/ entries. For example, to make an image from a disk partition, you can use the command

cat /dev/sda1 >sda1.img

Further information

External links

Standards and implementation manuals