¿Qué significa dd?


42

Yo sé muy bien lo que hace el comando, pero man dd, info dddime: 'convertir y copiar un archivo', al igual que Coreutils GNU .

Google dice que es una abreviatura de todo entre la medicina y la mala jerga de webchat; excepto que alguien diga que significa 'destructor de datos', algo utilizado en análisis forense de PC: ¡me horrorizaría si mi dd destruyera mis datos!

Alguna idea? :-)


Actualización : Por supuesto, tuve que verificar el archivo de jerga :

El Unix dd (1) fue diseñado con una sintaxis de opción de palabra clave extrañamente distinta de Unixy que recuerda a IBM System / 360 JCL (que tenía una elaborada especificación DD 'Definición de conjunto de datos' para dispositivos de E / S)

Todavía suena bastante ambiguo, pero luego dice:

Aunque el comando llenaba una necesidad, el diseño de la interfaz era claramente una broma.

Je :-)


66
ddes particularmente bueno para destruir datos si no tienes cuidado. "Destructor de datos" no es realmente un nombre inapropiado.
LawrenceC

Referencia cruzada: askubuntu.com/a/645765/25036 (2015-07-08) en ¿Qué significa el nombre de comando "dd"?
Graham Perrin el

Respuestas:


28

Wikipedia ( dd) afirma que recibió su nombre del comando DD de IBM JCL que significa Definición de datos . Sin embargo, siempre pensé que significaría duplicar datos .


11
También dice It is jokingly said to stand for "disk destroyer", "data destroyer", or "delete data": haciendo referencia cruzada a esto con el archivo Jargon hace clic en un interruptor, ¡creo que esta es la respuesta que estamos buscando!
invertir

2
Siempre pensé que también era duplicado de datos.
Mikel

3
Definitivamente fue la definición del conjunto de datos. Conjunto de datos fue el término de IBM para Archivo. En JCL necesitabas escribir un registro DD para definir el archivo que querías usar y dar un código de número de unidad de 2 caracteres para referenciar en tus declaraciones Open.
Michael Dillon

2
¿Puedes agregar una referencia?
mikemaccana

55
Sobre el tema del nombre cc / dd: Spurious. dd siempre lleva el nombre de las tarjetas dd JCL. - Dennis Ritchie (alt.folklore.computers, 2004)
mr.spuratic

35

Aunque se dio la "mejor respuesta", este sitio dice lo contrario :

En realidad, significa 'Copiar y convertir' y cambió su nombre a ddsolo porque ccestaba reservado para el compilador de C. Esta es la información auténtica que obtuve de las páginas de manual de nuestro Unix-V7 en nuestro PDP 11 de la universidad.

Correo original en comp.unix.misc(usenet): The Unix Acronym List


3
Pero las publicaciones continúan diciendo: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
Esto está demostrando ser una gran investigación. ¡'Copiar y convertir' describe la función de dd muy bien! Algunos sistemas tenían cc como el 'Compilador C' y el momento de la bombilla: ¿gcc significa 'Compilador C GNU'? :-) Interesante.
invertir

2
Aquí hay un problema muy simple. 'DD' es del JCL de IBM y 'dd' es de UNIX ... uno es mayúsculas, el otro minúsculas donde se disipan mayúsculas y minúsculas ... IBM realmente no tenía mucho que ver con UNIX y viceversa ... y DD / dd hicieron cosas diferentes ... Entonces, para mí, cualquier otra cosa que no sea esta es una posibilidad
Peter.O

@invert gcc significa GNU Compiler Collection, pero conociendo a GNU y su extraña obsesión con las siglas, probablemente represente a ambos ...
Braden Best

13

"volcar datos". JCL es irrelevante.


Sí, esto tiene sentido, funcionalmente, incluso si los orígenes dicen algo más.
invertir


2
Disk Dump es correcto. En aquel entonces, era normal usar DD para hacer una copia de seguridad de una partición del disco duro en cinta. La mayoría de las otras opciones estaban relacionadas con cosas que la gente quería hacer con cintas, como convertir EBCDIC a ASCII.
Michael Dillon

JCL es irrelevante , eso depende de la pregunta que se haga. Una pregunta es el origen histórico, en cuyo caso JCL es probablemente relevante. Otra pregunta es el backronym más inteligente y apropiado que uno pueda imaginar para el dduso moderno , en cuyo caso esta respuesta podría ser más apropiada. No estoy seguro de qué pregunta el OP.
jw013

44
Tiene mucho sentido y, por lo tanto, es casi seguro que está equivocado. La lexicografía no es tarea de aficionados.
TRiG

1

Alguien se preguntaba si el comando dd UNIX (y Linux) realmente tenía alguna relación con el comando dd IBM JCL. Yo diría que lo hizo y que tuvo una relación directa con la elección del nombre, y esta es la razón.

"Hace mucho tiempo" en los años ochenta y antes, AT&T tenía sistemas de soporte operativo, particularmente sistemas de facturación, que funcionaban con equipos que no eran sus propios sistemas de investigación. En particular, cosas como los informes de facturación a larga distancia y otros artefactos que debían transferirse entre los sistemas informáticos de mainframe y otros sistemas tenían que tener un mecanismo.

En la forma UNIX de hacer las cosas, la transferencia de archivos, o cualquier "objeto", se puede hacer un bit o un byte a la vez, sin tener en cuenta el contenido o cualquier otra cosa. El comando dd tenía disposiciones para transferir esos bits y bytes, y hacer cosas como la conversión de conjuntos de códigos entre EBCDIC y ASCII, copiar copias de seguridad en cinta entre diversos tipos de medios, etc.

Hoy en día, podemos hacer cosas con este comando bastante antiguo y realizar tareas como la creación de dispositivos de arranque en CD, DVD, dispositivos USB de factor de forma pequeño, y quién sabe a continuación, porque la herramienta simplemente puede transferir información, independientemente del contenido. El comando dd, a este respecto, es uno de los comandos más útiles en el arsenal de UNIX y Linux.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.