From prp@SEI.CMU.EDU Sun Jul 8 23:32:29 1990 Date: Tue, 17 Apr 90 11:09:11 -0400 From: prp@SEI.CMU.EDU To: djm@eng.umd.edu Subject: The Unix "dd" command Why not collect responses and post them. My understanding of the naming (and syntax for use) is that this was done as a joke. Notably it is poking fun at OS/360 - a once reasonably well known operating system where commands like //DD SYSIN= ... abounded and were used for setting up I/O devices for various programs that were about to be run. Pat Place prp@sei.cmu.edu From shore@mtxinu.COM Sun Jul 8 23:32:44 1990 Date: Tue, 17 Apr 90 16:23:49 -0700 From: shore@mtxinu.COM (Melinda Shore) To: djm@eng.umd.edu Subject: Re: etymology of the Unix "dd" command Newsgroups: alt.folklore.computers Organization: mt Xinu, Berkeley Cc: [] IBM batch OS job control decks take data definition cards (DD cards) to describe files involved to run a job. If you take a look at the syntax of the dd command, you'll see that it looks an awful lot like DD cards, sans commas. Melinda -- Melinda Shore shore@mtxinu.com mt Xinu ..!uunet!mtxinu.com!shore From clt@pyrps5 Fri Apr 20 14:23:24 1990 From: clt@pyrps5 (Chris Torkildson) Newsgroups: alt.folklore.computers Subject: Re: etymology of the Unix \ Date: 20 Apr 90 15:51:16 GMT Reply-To: clt@pyrps5.pyramid.com (Chris Torkildson) Organization: Pyramid Technology Corp., Mountain View, CA In article <905@ixos.UUCP> throoph@jacobs.CS.ORST.EDU (Henry Throop) writes: >In article djm@eng.umd.edu (David J. MacKenzie) writes: >>Does anyone know how the Unix "dd" command got its name? > >I read (I think in UnixWorld, or some other magazine) that it stood >for DarneD if I know, but I don't know whether to believe this or >not. (No, I'm not making think up, btw.) > >Henry The IBM dd statement stands for "Data Description" which is a keyword, non-Unix like JCL statement to exactly specify volume id, blocking factors, tape densities and so on. The IBM dd statement looks very much like the Unix dd command. I always assumed that the person who named the Unix dd just followed the IBM naming conventions, for some warped and perverted reason. From bzs@world.std.com Sun Apr 22 19:24:47 1990 From: bzs@world.std.com (Barry Shein) Newsgroups: alt.folklore.computers Subject: Re: etymology of the Unix "dd" command Date: 22 Apr 90 19:19:28 GMT Organization: The World @ Software Tool & Die In-Reply-To: throoph@jacobs.CS.ORST.EDU's message of 18 Apr 90 04:44:23 GMT >Does anyone know how the Unix "dd" command got its name? It's a play on the IBM/JCL DD command, DD stood for DATA DEFINITION in JCL and was how you attached files to a job. All files had to be pre-allocated and were defined externally to the job, sort of like the Unix < and > commands only absurdly complicated. The cards looked like: //sysin dd * which meant attach the symbolic input name (sysin) to the rest of this card deck (*), but more telling are things like: //sysin dd lrecl=80,blksiz=800,disp=(new,new,save), space=(20,20,rlse) (hmm, doesn't look quite right, who cares) starting to look familiar? There were around 200 options available, and the defaults were almost always wrong... The job accessed the symbol SYSIN (or whatever, you just made it up, but a lot of packages used SYSIN, SYSOUT, SYSPRINT and SYSPUNCH as a standard) as if it were a file and the file was attached externally through a DSNAME (data set name) card who's format was described in the DD card. Let's put it this way, it took a reasonably seasoned programmer to just make a copy of a file... The fun part was that JCL errors where I worked years ago cost about $1.50 each due to minimum costs of running one job through and having it bomb out. I went through over $1,000 one evening, in real money, trying to get one lousy JCL bug out which turned out to be a change someone in systems had made in a standard JCL utility program... The point being, DD cards were loathsome things so making a Unix command with that name was black humor. -- -Barry Shein Software Tool & Die | {xylogics,uunet}!world!bzs | bzs@world.std.com Purveyors to the Trade | Voice: 617-739-0202 | Login: 617-739-WRLD