Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I couldn't for the life of me tell you what dd stands for.

Data(set) Definition. But that name does not make any sense whatsoever by itself in this context, neither for the tool (it hardly "defines" anything), nor for UNIX in general (there are no "datasets" in UNIX).

Instead, it's specifically a reference to the DD statement in the JCL, the job control language, of many of IBM's mainframe operating systems of yore (let's not get into the specifics of which ones, because that's a whole other can of complexity).

And even then the relation between the DD statement and the dd command in UNIX is rather tenuous. To simplify a lot, DD in JCL does something akin to "opening a file", or rather "describing to the system a file that will later be opened". The UNIX tool dd, on the other hand, was designed to be useful for exchanging files/datasets with mainframes. Of course, that's not at all what it is used for today, and possibly that was true even back then.

This also explains dd's weird syntax, which consists of specifying "key=value" or "key=flag1,flag2,..." parameters. That is entirely alien to UNIX, but is how the DD and other JCL (again, of the right kind) statements work.





I just remember it as "Da Disk", early 2000's nu metal lyrics-style, because it does mad things to da disk, yo.

I guess the most relevant backcronym expansion is still "Disk Destroyer"

I had remembered it was "convert and copy", but cc was already taken by the c compiler so they shifted it down a letter. That might have been apocryphal.

Same here. But I also seem to remember claims that this isn't true…

I had it learned as "data duplicator" or something like that... seems also bogus.

Having come from the DOS world (or it could have been Norton utilities), I always thought it was more like DiskDupe (duplicate disks).

Funny how we never confirm our hypothesis that "checks out".


"disk dump" is another common (but wrong) guess.

I always read it as “[disk|data] destroyer”, because that’s what it’ll do if you’re not careful.

You know, this is true. And I've read any number of "you should never use dd, use this instead" articles over the years. But man, do I love me some dd.

dd is the software equivalent of removing the riving knife from a table saw.

Then again, I get very paranoid when I write software that has to delete arbitrary files recursively. One bad string gets in there and it's a very bad day.


One explanation that left a deep impression on me is[1]:

  it stands for 'Copy and Convert' and was renamed to `dd` only because `cc` was reserved for the C compiler!
[1]: https://unix.stackexchange.com/a/6835/192313

Reminds me of IBM => HAL, just the other direction

APL -> BQN where the author remembered the alphabet wrong : https://chat.stackexchange.com/transcript/message/54753804#5...

i always think of it as Data Destroyer

Ha, for the last 30 years I have been convinced it was Disk Direct.

I thought it was dirty deeds.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: