Dd de quê?


42

Eu sei muito bem o que o comando faz, mas man dd, info dddiga-me: 'converter e copiar um arquivo', assim como o GNU Coreutils .

O Google diz que é uma abreviação de tudo entre medicina e gírias ruins na webchat; exceto alguém dizendo que significa "destruidor de dados", algo usado no forense de PC - eu ficaria horrorizado se meu dd destruísse meus dados!

Alguma visão? :-)


Atualização : Claro que tive que verificar o arquivo do jargão :

O Unix dd (1) foi projetado com uma sintaxe de opção de palavra-chave estranha e distintamente não-Unixy, remanescente do IBM System / 360 JCL (que tinha uma especificação elaborada DD 'Definição de conjunto de dados' para dispositivos de E / S)

Ainda soa bastante ambíguo, mas depois diz:

embora o comando preenchesse uma necessidade, o design da interface era claramente uma brincadeira.

Heh :-)


6
ddé particularmente bom em destruir dados se você não for cuidadoso. "Destruidor de dados" não é realmente um nome impróprio.
LawrenceC

Referência cruzada: askubuntu.com/a/645765/25036 (08-07-2015) em O que significa o nome do comando “dd”?
Graham Perrin

Respostas:


28

A Wikipedia ( dd) afirma que recebeu o nome do comando IBM JCL DD, que significa Data Definition . Eu sempre pensei que isso significaria duplicar dados , no entanto.


11
Também diz It is jokingly said to stand for "disk destroyer", "data destroyer", or "delete data"- a referência cruzada com o arquivo Jargon clica em uma opção, acredito que esta é a resposta que estamos procurando!
Invert

2
Eu sempre pensei que eram dados duplicados também.
Mikel

3
Definitivamente, era a definição de conjunto de dados. Conjunto de dados era o termo IBM para Arquivo. Na JCL, você precisava escrever um registro DD para definir o arquivo que desejava usar e fornecer um código de número de unidade de 2 caracteres para referência em suas instruções Open.
Michael Dillon

2
Você pode adicionar uma referência?
Mikemaccana

5
Sobre o tópico do nome do cc / dd: espúrio. dd sempre recebeu o nome de cartões JCL dd. - Dennis Ritchie (alt.folklore.computers, 2004)
mr.spuratic

35

Embora a "melhor resposta" tenha sido dada, este site declara o contrário :

Na verdade, ele significa 'Copy and Convert' e foi renomeado ddapenas porque ccfoi reservado para o compilador C! Esta é a informação autêntica que obtive das páginas de manual do nosso Unix-V7 no PDP 11 da universidade.

Correio original em comp.unix.misc(usenet): A lista de acrônimos do Unix


3
Mas as postagens continuam dizendo:He's not sure if it was ever actually called cc in UNIX, but he is _certain_ that the name dd comes from the jcl dd command (so does the wreched syntax).
Justin Ethier

2
Isso está provando bastante uma investigação. 'Copiar e converter' descreve bem a função de dd! Alguns sistemas tiveram o cc como o 'C-Compiler' e o momento da lâmpada: o gcc representa o 'GNU C Compiler'? :-) Interessante.
Invert

2
Há uma questão muito simples envolvida aqui. 'DD' é da JCL da IBM e 'dd' é do UNIX .. um é Maiúscula, a outra Minúscula onde a maiúscula é alterada ... A IBM realmente não tinha muito a ver com UNIX e vice-versa ... e dD / dd fez coisas diferentes ... Então, para mim, nada mais do que isso é uma possibilidade
Peter.O

gcc @invert significa GNU Compiler Collection, mas sabendo GNU e sua obsessão estranha com siglas, ele provavelmente significa tanto ..
Braden Melhor

13

"despejar dados". JCL é irrelevante.


Sim, isso faz sentido, funcionalmente, mesmo que as origens digam algo mais.
Invert


2
Despejo de disco está correto. Naquela época, era normal usar o DD para fazer backup de uma partição do disco rígido em fita. A maioria das outras opções estava relacionada a coisas que as pessoas queriam fazer com fitas, como converter EBCDIC em ASCII.
Michael Dillon

JCL é irrelevante - isso depende da pergunta que está sendo feita. Uma pergunta é a origem histórica; nesse caso, a JCL provavelmente é relevante. Outra pergunta é o backronym mais inteligente e adequado que se pode imaginar para o dduso moderno ; nesse caso, essa resposta pode ser mais apropriada. Na verdade, não tenho certeza do que o OP está perguntando.
Jw013 09/10

4
Faz muito sentido e, portanto, quase certamente está errado. Lexicografia não é tarefa para amadores.
TRiG

1

Alguém estava questionando se o comando dd do UNIX (e Linux) realmente tinha algum relacionamento com o comando dd IBM JCL. Eu diria que isso aconteceu e que teve uma relação direta com a escolha do nome, e aqui está a razão.

Já nos anos oitenta e antes, a AT&T tinha sistemas de suporte operacional, particularmente sistemas de cobrança, que funcionavam em equipamentos que não eram seus próprios sistemas de pesquisa. Em particular, coisas como relatórios de cobrança de longa distância e outros artefatos que precisavam ser transferidos entre os sistemas de computadores mainframe e outros sistemas tinham que ter um mecanismo.

Na maneira UNIX de fazer as coisas, a transferência de arquivos - ou qualquer "objeto" pode ser feita um pouco ou um byte de cada vez, sem levar em consideração o conteúdo ou qualquer outra coisa. O comando dd tinha disposições para transferir esses bits e bytes, e fazer coisas como a conversão de conjuntos de códigos entre EBCDIC e ASCII, copiar backups em fita entre diversos tipos de mídia, e assim por diante.

Hoje, podemos fazer coisas com esse comando bastante antigo e executar tarefas como criar mídia inicializável em CD, DVD, pen drives USB pequenos e quem sabe o próximo, porque a ferramenta pode simplesmente transferir informações, independentemente do conteúdo. O comando dd, a esse respeito, é um dos comandos mais úteis no arsenal UNIX e Linux.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.