4 ms·
> 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,
by anyfoo 10mo ago
> 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.
- necovek 10mo agoHaving 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".
- anyfoo 10mo ago"disk dump" is another common (but wrong) guess.
- softskunk 10mo agoI always read it as “[disk|data] destroyer”, because that’s what it’ll do if you’re not careful.
- jaredhallen 10mo agoYou 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.
- georgefrowny 10mo agodd 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.
- Kevin-Xi 10mo agoOne 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 https://unix.stackexchange.com/a/6835/192313
- deleted 10mo ago[deleted]
- f33d5173 10mo agoI 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.
- classified 10mo agoSame here. But I also seem to remember claims that this isn't true…
- f1shy 10mo agoI had it learned as "data duplicator" or something like that... seems also bogus.
- deleted 10mo ago[deleted]
- isoprophlex 10mo agoI just remember it as "Da Disk", early 2000's nu metal lyrics-style, because it does mad things to da disk, yo.
- deleted 10mo ago[deleted]
- marcosdumay 10mo agoI guess the most relevant backcronym expansion is still "Disk Destroyer"
- devmor 10mo ago"Data Deleter" was how I always remembered it!
- richardc323 10mo agoHa, for the last 30 years I have been convinced it was Disk Direct.
- vrighter 10mo agoi always think of it as Data Destroyer
- linhns 10mo agoI thought it was dirty deeds.