Wofür steht dd?


42

Ich weiß sehr gut , was der Befehl tut, aber man dd, info ddsagen Sie mir: ‚Konvertieren und Kopieren einer Datei‘, wie auch GNU Coreutils .

Google sagt, es ist eine Abkürzung für alles zwischen Medizin und schlechtem Webchat-Slang. außer dass jemand sagt, es bedeutet "Datenvernichter", etwas, das in der PC-Forensik verwendet wird - ich wäre entsetzt, wenn mein dd meine Daten zerstören würde !

Einsichten? :-)


Update : Natürlich musste ich die Jargon-Datei überprüfen :

Unix dd (1) wurde mit einer merkwürdigen Syntax von Nicht-Unix-Schlüsselwortoptionen entwickelt, die an IBM System / 360 JCL erinnert (mit einer detaillierten DD-Spezifikation für Dataset-Definitionen für E / A-Geräte).

Klingt immer noch ziemlich zweideutig, aber dann heißt es:

Obwohl der Befehl ein Bedürfnis erfüllte, war das Interface-Design eindeutig ein Streich.

Heh :-)


6
ddist besonders gut darin, Daten zu zerstören, wenn Sie nicht aufpassen. "Data Destroyer" ist eigentlich keine falsche Bezeichnung.
LawrenceC

Querverweis: askubuntu.com/a/645765/25036 (08.07.2015) unter Wofür steht der Befehlsname „dd“?
Graham Perrin

Antworten:


28

Wikipedia ( dd) gibt an , dass es nach dem IBM JCL- Befehl DD benannt wurde, der für Data Definition steht . Ich habe immer gedacht, dass dies zu doppelten Daten führen würde .


11
Es heißt auch: Durch It is jokingly said to stand for "disk destroyer", "data destroyer", or "delete data"Querverweise mit der Jargon-Datei wird ein Schalter angeklickt. Ich glaube, das ist die Antwort, nach der wir suchen!
Invertzucker

2
Ich dachte immer, dass es auch Datenduplikate sind.
Mikel

3
Es war definitiv Dataset Definition. Dataset war der IBM Begriff für File. In JCL mussten Sie einen DD-Datensatz schreiben, um die zu verwendende Datei zu definieren, und einen 2-stelligen Einheitennummerncode angeben, auf den Sie in Ihren Open-Anweisungen verweisen möchten.
Michael Dillon

2
Können Sie eine Referenz hinzufügen?
Mikemaccana

5
Zum Thema des cc / dd-Namens: Spurious. dd wurde immer nach JCL dd cards benannt. - Dennis Ritchie (alt.folklore.computers, 2004)
mr.spuratic

35

Obwohl die "beste Antwort" gegeben wurde, heißt es auf dieser Website anders :

Eigentlich steht es für 'Copy and Convert' und wurde nur umbenannt, ddweil cces für den C-Compiler reserviert war! Dies sind die authentischen Informationen, die ich von den Manpages unseres Unix-V7 auf unserer Universitäts-PDP 11 erhalten habe.

Ursprüngliche Mail an comp.unix.misc(Usenet): The Unix Acronym List


3
Aber die Postings sagen weiter: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
Dies ist eine ziemliche Untersuchung. 'Copy and Convert' beschreibt die Funktion von dd sehr gut! Einige Systeme hatten cc als 'C-Compiler' und Glühbirnenmoment: steht gcc für 'GNU C Compiler'? :-) Interessant.
Invertzucker

2
Hier geht es um ein sehr einfaches Thema. 'DD' ist von IBMs JCL und 'dd' ist von UNIX. Einer ist Großbuchstabe, der andere Kleinbuchstabe, wobei die Groß- und Kleinschreibung beachtet wurde. IBM hatte nicht wirklich viel mit UNIX zu tun und umgekehrt ... und DD / dd haben verschiedene Dinge getan ... Also, für mich ist alles andere als dies eine Möglichkeit
Peter.O

@invert gcc steht für GNU Compiler Collection, aber in Kenntnis von GNU und ihrer seltsamen Besessenheit von Akronymen steht es wahrscheinlich für beides.
Braden Best

13

msgstr "Daten sichern". JCL ist irrelevant.


Ja, dies ist funktionell sinnvoll, auch wenn die Ursprünge etwas anderes aussagen.
Invertzucker


2
Disk Dump ist korrekt. Damals war es normal, DD zu verwenden, um eine Festplattenpartition auf Band zu sichern. Die meisten anderen Optionen bezogen sich auf Dinge, die die Leute mit Bändern machen wollten, wie zum Beispiel die Konvertierung von EBCDIC nach ASCII.
Michael Dillon

JCL ist irrelevant - das hängt von der gestellten Frage ab. Eine Frage ist der historische Ursprung, in welchem ​​Fall JCL wahrscheinlich relevant ist. Eine andere Frage ist das klügste und passendste Backronym, das man sich für den modernen ddGebrauch vorstellen kann. In diesem Fall ist diese Antwort möglicherweise angemessener. Ich bin mir nicht sicher, welches der OP fragt.
JW013

4
Es macht sehr viel Sinn und ist daher mit ziemlicher Sicherheit falsch. Lexikographie ist keine Aufgabe für Amateure.
TRiG

1

Jemand fragte sich, ob der Befehl dd unter UNIX (und Linux) tatsächlich eine Beziehung zum Befehl dd in IBM JCL hatte. Ich würde argumentieren, dass es WURDE und dass es einen direkten Einfluss auf die Wahl des Namens hatte, und hier ist der Grund.

"Vor langer Zeit" in den achtziger Jahren und früher verfügte AT & T über betriebliche Unterstützungssysteme, insbesondere Abrechnungssysteme, die nicht mit eigenen Forschungssystemen betrieben wurden. Insbesondere Dinge wie Fernabrechnungsberichte und andere Artefakte, die zwischen Großrechnersystemen und anderen Systemen übertragen werden mussten, mussten über einen Mechanismus verfügen.

Unter UNIX kann die Übertragung von Dateien - oder "Objekten" - unabhängig vom Inhalt oder anderen Elementen ein oder mehrere Bytes gleichzeitig ausgeführt werden. Der Befehl dd enthielt Bestimmungen zum Übertragen dieser Bits und Bytes, zum Konvertieren von Codesätzen zwischen EBCDIC und ASCII, zum Kopieren von Bandsicherungen zwischen verschiedenen Medientypen usw.

Heute können wir Dinge mit diesem relativ alten Befehl erledigen und Aufgaben wie das Erstellen von bootfähigen Medien auf CD, DVD, USB-Sticks mit kleinem Formfaktor und wer weiß was als nächstes, da das Tool einfach Informationen übertragen kann, unabhängig vom Inhalt. Der Befehl dd ist in dieser Hinsicht einer der nützlichsten Befehle im UNIX- und Linux-Arsenal.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.