Dd (Unix)

Dd (Unix)

In computing, dd is a common program for Unix and Unix-like operating systems whose primary purpose is to "convert and copy a file." On Unix, device drivers for hardware (such as hard disks) and special device files (such as /dev/zero and /dev/random) appear in the file system just like normal files; dd can also read from (and in some cases write to) these files. As a result, dd can be used for tasks such as backing up the boot sector of a hard drive, and obtaining fixed amount of random data. The dd program can also perform conversions on the data as it is copied, including byte order swapping and conversion to and from the ASCII and EBCDIC text encodings.

The name dd may be an allusion to the DD statement found in IBM's Job Control Language (JCL), where the acronym stands for "Data Description." The command's syntax resembles the JCL statement more than it does other Unix commands, so the syntax may have been a joke. Another explanation for the command's name is that "cc" (for "convert and copy", as in the command's decription) was already taken by the C compiler.

The dd command is specified by IEEE Std 1003.1-2008, which is part of the Single UNIX Specification.

Read more about Dd (Unix):  Usage, Output Messages, Block Size, Limitations