53

I'm using dd to copy an image onto a USB. But what does dd stand for?

I understand its use, but not what the name dd actually means, or is an acronym for.
It doesn't even say in the man page.

6
  • 63
    DISK DESTROYER. No, but it could.
    – earthmeLon
    Jul 7, 2015 at 21:47
  • 1
    Just for completeness: DD is also used as abbreviation of Debian Developer.
    – jofel
    Jul 8, 2015 at 23:57
  • 1
    I do not think it should be closed as oppinion based - learning a mnemonic for dd would be quite helpful! Jul 9, 2015 at 13:48
  • Note that it can easily be seen that dd means 'd' duplicated. Jul 9, 2015 at 20:33
  • How is this primarily opinion-based? surely there is a right answer?
    – Tim
    Jul 14, 2015 at 22:17

5 Answers 5

55

The syntax was inspired by the DD (data definition) statement of OS/360 JCL. Source:GNU

More Reading Here

9
  • 4
    The chapter on the DD statement begins on page 74 of the PDF.
    – hobbs
    Jul 8, 2015 at 1:16
  • 2
    An IBM knowledge base article supports data definition as the original name of the statement in JCL. Jul 8, 2015 at 4:33
  • 3
    While a DD statement is documented in the above mentioned PDF, it seems conceptually totally unrelated to the unix command of the same name, so I doubt this is the correct answer for the OP's question.
    – Axel
    Jul 8, 2015 at 14:20
  • 3
    Dennis Ritchie says the name of dd comes from JCL: groups.google.com/d/msg/alt.folklore.computers/HAWoZ8g-xYk/…
    – Ross Ridge
    Jul 9, 2015 at 15:04
  • 5
    Why not quote the relevant things in the answer?
    – Cascabel
    Jul 10, 2015 at 1:53
26

There are many theories. I recall in Unix v7 (when dd first appeared) the man page said it meant disk dump (or was it data dump?) since it was frequently used as a disk backup/restore utility. However, an archive of the v7 man page mentions no etymology nor meaning. Possibly I heard it from someone at Bell Labs since I had occasional access in the early 1980s.

Other theories are:

  • data destroyer
  • data destructor
  • disk destroyer
  • delete data
  • duplicate data
  • originally for Copy and Convert, but was renamed because the C compiler already used cc (man dd from Unix-V7 on PDP-11)
3
  • 2
    The last (CC was taken) is what I was taught in a UNIX (AIX) class at IBM.
    – JDługosz
    Jul 8, 2015 at 7:28
  • 3
    Disk Dump is the acronym I have always heard people use and I vaguely remember it being featured in an old man page though couldn't recall which OS I saw it in. So I think this answer is probably right.
    – Vality
    Jul 8, 2015 at 10:03
  • 3
    I heard it's name is "direct data" because of its nature to directly access data form disks/particions, ect...
    – Daywalker
    Jul 8, 2015 at 13:56
6

dd stands for Data Description.

3
  • 1
    Seems plausible, but Wikipedia cites a source that is 404. Jul 8, 2015 at 4:30
  • 6
    Just wiki'ing a definition does not constitute for an answer IMHO.
    – Mast
    Jul 8, 2015 at 9:31
  • 3
    @Mast and yet I thought that I was being nice answering a question to someone that didn't even bother checking the wikipedia...
    – Katu
    Jul 8, 2015 at 12:12
4

dd = "Disc Dump".

This utility comes from the original UNIX System operational environment where it was common to replicate secondary memory (mass storage devices in a "Virtual Memory" operating system). dd can do this, bit for bit, byte for byte, sector for sector, track for track, etc. It can also flip bits, convert EBCDIC to ASCII, change block sizes and do pretty much any other binary operation you'd want/need to move/convert/recover storage data. Storage devices (all) in those days were much slower, less dense and far less reliable than today. We had to replace/repair "Random Access Magnetic Storage Devices", (e.g. disk drives, floppy and hard, magnetic cylinders, etc.) all the time.

In the event of a head crash, or other catastrophic storage device failure, "dd" was (and still is) one of my favorite utilities for extracting what data I could to a new device. Once the new device was installed, I could use fsck (file system check) and fsdb (file system debugger) to recover/repair some of the damaged file system and maybe extract some data.

This was also our first rudimentary backup system. The application process (dd), can operate as "super user" and read/write directly through the I/O subsystem (kernel) via character (raw) or block device driver [entry points], bypassing file system (kernel) yet completely replicating the file system construct to the new device. dd (like every other UNIX core utility) also has the ability to read from the standard input and write to the standard output allowing for it to be used for other things in a shell script :-) ....

2
  • 1
    Nice info, but probably not the right answer.
    – Joe
    Jul 8, 2015 at 22:59
  • 1
    I always thought it was disk dump as well
    – chiliNUT
    Jul 14, 2015 at 20:42
3

Always thought it stood for 'disk dupe' (duplicate disk) Think it was in SCO Unix Sys V version

Not the answer you're looking for? Browse other questions tagged or ask your own question.