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.
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
- dd vs cat -- is dd still relevant these days?
- Is there a way to determine the optimal value for the bs parameter to dd?
- When is dd suitable for copying data? (or, when are read() and write() partial)
- Clone whole partition or hard drive to a sparse file
- Why does dd from /dev/random give different file sizes?
- Read the middle of a large file
- Is dd able to overwrite parts of a file?