Что означает дд?

42

Я очень хорошо знаю, что делает команда, но man dd, info ddскажите мне: «Преобразуйте и скопируйте файл», как это делает GNU Coreutils .

Google говорит, что это аббревиатура между медициной и плохим сленгом; за исключением того, что кто-то говорит, что это означает «уничтожитель данных», что-то используемое в криминалистике ПК - я был бы в ужасе, если бы мой дд уничтожил мои данные!

Любое понимание? :-)


Обновление : Конечно, я должен был проверить файл жаргона :

Unix dd (1) был разработан со странным, явно отличным от Unixy синтаксисом опции ключевого слова, напоминающим IBM System / 360 JCL (который имел сложную спецификацию DD 'Dataset Definition' для устройств ввода-вывода)

По-прежнему звучит довольно двусмысленно, но потом говорится:

хотя команда удовлетворяла потребности, дизайн интерфейса был явно шуткой.

Хех :-)

инвертировать
источник
6
ddособенно хорош в уничтожении данных, если вы не будете осторожны. «Разрушитель данных» на самом деле не является неправильным.
LawrenceC
Перекрестная ссылка: askubuntu.com/a/645765/25036 ( 2015-07-08 ) в разделе Что означает название команды «dd»?
Грэм Перрин

Ответы:

28

Википедия ( dd) утверждает, что она была названа в честь команды DD IBM JCL, которая обозначает Определение данных . Я всегда думал, что это будет означать дублирование данных .

Мистер Шунц
источник
11
Это также говорит It is jokingly said to stand for "disk destroyer", "data destroyer", or "delete data"- перекрестная ссылка на это с файлом Jargon нажимает на переключатель, я считаю, что это ответ, который мы ищем!
инвертировать
2
Я всегда думал, что это тоже дубликат данных.
Микель
3
Это было определенно определение набора данных. Набор данных был термином IBM для Файла. В JCL вам нужно было написать DD-запись, чтобы определить файл, который вы хотите использовать, и дать 2-значный кодовый номер блока для ссылки в ваших операторах Open.
Майкл Диллон
2
Можете ли вы добавить ссылку?
mikemaccana
5
На тему названия cc / dd: ложный. ДД всегда назывался в честь карт JCL dd. - Деннис Ритчи (alt.folklore.computers, 2004)
Спуратик
35

Хотя был дан «лучший ответ», этот сайт заявляет иначе :

На самом деле, это означает «Копировать и преобразовать» и было переименовано ddтолько потому, что ccбыло зарезервировано для компилятора C! Это достоверная информация, которую я получил со справочных страниц нашего Unix-V7 в нашем университете PDP 11.

Оригинал письма в comp.unix.misc(usenet): список акронимов Unix

обкрадывать
источник
3
Но сообщения продолжают говорить: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).
Джастин Этье
2
Это доказывает настоящее расследование. «Скопируйте и конвертируйте» хорошо описывают функцию dd! Некоторые системы имели cc как «C-Compiler» и момент лампочки: gcc означает «GNU C Compiler»? :-) Интересный.
инвертировать
2
Здесь есть очень простая проблема. «DD» взят из IBM JCL, а «dd» - из UNIX. Один - в верхнем регистре, другой - в нижнем регистре, где изменен регистр ... На самом деле IBM не имела ничего общего с UNIX и наоборот ... и ДД / ДД делали разные вещи ... Так что, для меня, все, кроме этого, возможно
Питер.
@invert gcc означает GNU Compiler Collection, но зная GNU и их странную одержимость акронимами, это, вероятно, означает и то, и другое ...
Брэден Бест
13

"сбросить данные". JCL не имеет значения.

Юрген А. Эрхард
источник
Да, это имеет смысл, функционально, даже если происхождение говорит что-то еще.
инвертировать
2
Вероятно, бэкроним. secure.wikimedia.org/wikipedia/en/wiki/Backronym
jsbillings
2
Дамп диска правильно. Тогда было нормально использовать DD для резервного копирования раздела жесткого диска на ленту. Большинство других опций были связаны с вещами, которые люди хотели делать с лентами, такими как преобразование EBCDIC в ASCII.
Майкл Диллон
JCL не имеет значения - это зависит от задаваемого вопроса. Одним из вопросов является историческое происхождение, и в этом случае JCL, вероятно, имеет значение. Другой вопрос - самый умный и подходящий бэкроним, который можно представить для современного ddиспользования, и в этом случае этот ответ может быть более подходящим. Я на самом деле не уверен, какой ОП спрашивает.
jw013
4
Это имеет большой смысл, и поэтому почти наверняка неправильно. Лексикография не является задачей для любителей.
TRiG
1

Кто-то спрашивал, имеет ли команда dd в UNIX (и Linux) какое-либо отношение к команде IBM JCL dd. Я бы сказал, что оно ДЕЙСТВИТЕЛЬНО, и что оно имело непосредственное отношение к выбору названия, и вот причина.

«В обратном направлении» в восьмидесятых годах и раньше AT & T имела системы оперативной поддержки, в частности биллинговые системы, которые работали на оборудовании, отличном от собственных исследовательских систем. В частности, такие вещи, как отчеты о выставлении счетов за большие расстояния и другие артефакты, которые необходимо было передавать между компьютерами мэйнфреймов и другими системами, должны иметь механизм.

В UNIX способе передачи файлов - или любых «объектов» можно было бы делать бит или байт за раз, независимо от содержимого или чего-либо еще. Команда dd имела условия для передачи этих битов и байтов, а также для выполнения таких вещей, как преобразование набора кодов между EBCDIC и ASCII, копирование резервных копий на магнитную ленту между различными типами носителей и так далее.

Сегодня мы можем делать что-то с помощью этой довольно древней команды и выполнять такие задачи, как создание загрузочных носителей на компакт-дисках, DVD-дисках, USB-накопителях малого форм-фактора и кто знает, что будет дальше, потому что инструмент может просто передавать информацию независимо от содержимого. В этом отношении команда dd является одной из самых полезных команд в арсенале UNIX и Linux.

Брайан Масиник
источник