Dd (Unix)

dd
Original author(s)Ken Thompson
(AT&T Bell Laboratories)
Developer(s)Various open-source and commercial developers
Initial releaseJune 1974 (1974-06)
Repositorycoreutils: git.savannah.gnu.org/cgit/coreutils.git/
Written inPlan 9: C
Operating systemUnix, Unix-like, Plan 9, Inferno, Windows
PlatformCross-platform
TypeCommand
Licensecoreutils: GPLv3+
Plan 9: MIT License

dd is shell command for reading, writing and converting file data. Originally developed for Unix, it has been implemented on many other environments including Unix-like operating systems, Windows, Plan 9 and Inferno.

The command can be used for many purposes. For relatively simple copying operations, it tends to be slower than domain-specific alternatives, but it excels at overwriting or truncating a file at any point or seeking in a file.

The command supports reading and writing files, and if a driver is available to support file-like access, the command can access devices too. Such access is typically supported on Unix-based systems that provide file-like access to devices (such as storage) and special device files (such as /dev/zero and /dev/random). Therefore, the command can be used for tasks such as backing up the boot sector of a drive, and obtaining random data.

The command can also support converting data while copying; including byte order swapping and converting between ASCII and EBCDIC text encodings.

dd is sometimes humorously called "Disk Destroyer", due to its drive-erasing capabilities involving typos.