Co oznacza dd?


42

Wiem bardzo dobrze, co robi komenda, ale man dd, info ddpowiedz: „Nawracajcie się i skopiować plik”, podobnie jak GNU Coreutils .

Google twierdzi, że jest skrótem wszystkiego między medycyną a złym slangiem na czacie; oprócz tego, że ktoś powiedziałby, że to „niszczyciel danych”, coś używanego w kryminalistyce na PC - byłbym przerażony, gdyby mój dd zniszczył moje dane!

Jakiś wgląd? :-)


Aktualizacja : Oczywiście musiałem sprawdzić plik żargonu :

Uniksowy dd (1) został zaprojektowany z dziwną, wyraźnie nie uniksową składnią opcji słów kluczowych, przypominającą IBM System / 360 JCL (która miała rozbudowaną specyfikację DD „Dataset Definition” dla urządzeń I / O)

Wciąż brzmi dość niejednoznacznie, ale mówi:

choć polecenie wypełniło potrzebę, projekt interfejsu był wyraźnie żartem.

Heh :-)


6
ddjest szczególnie dobry w niszczeniu danych, jeśli nie jesteś ostrożny. „Niszczyciel danych” nie jest tak naprawdę błędnym określeniem.
LawrenceC

Odsyłacz: askubuntu.com/a/645765/25036 (2015-07-08) w części Co oznacza nazwa polecenia „dd”?
Graham Perrin

Odpowiedzi:


28

Wikipedia ( dd) twierdzi, że nazwano ją po komendzie DD IBM JCL, co oznacza Data Definition . Zawsze jednak myślałem, że oznaczałoby to zduplikowanie danych .


11
Mówi także It is jokingly said to stand for "disk destroyer", "data destroyer", or "delete data"- odsyłając do tego pliku Jargon, klika przełącznik. Myślę, że to odpowiedź, której szukamy!
inwertowanie

2
Zawsze myślałem, że to też dane są zduplikowane.
Mikel

3
To zdecydowanie była definicja zestawu danych. Zestaw danych był terminem IBM dotyczącym pliku. W JCL trzeba było napisać rekord DD, aby zdefiniować plik, którego chcesz użyć, i podać 2-znakowy kod numeru jednostki, do którego należy odwoływać się w instrukcjach Open.
Michael Dillon

2
Czy możesz dodać referencję?
mikemaccana,

5
Na temat nazwy cc / dd: Spurious. dd zawsze nosiło nazwę po kartach JCL dd. - Dennis Ritchie (alt. Folklore.computers, 2004)
mr.spuratic

35

Chociaż podano „najlepszą odpowiedź”, ta strona stanowi inaczej :

W rzeczywistości oznacza „Kopiuj i konwertuj” i został przemianowany ddtylko dlatego, że ccbył zarezerwowany dla kompilatora C. To są autentyczne informacje, które otrzymałem ze stron podręcznika użytkownika naszego systemu Unix-V7 na naszym uniwersyteckim PDP 11.

Oryginalna poczta na comp.unix.misc(usenet): The Unix Acronym List


3
Ale posty mówią dalej: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
Dowodzi to dość dochodzenia. „Kopiuj i konwertuj” ładnie opisuje funkcję dd! Niektóre systemy miały Cc jako „Kompilator C” i moment żarówki: czy gcc oznacza „Kompilator GNU C”? :-) Ciekawy.
inwersja

2
W grę wchodzi bardzo prosty problem. „DD” pochodzi z JCL IBM, a „dd” z UNIX .. jeden to wielkie litery, a drugi małe litery, w których wielkość liter jest zmieniona ... IBM tak naprawdę nie miał wiele wspólnego z UNIX i odwrotnie ... i DD / dd robili różne rzeczy ... Więc dla mnie wszystko inne niż to jest możliwe
Peter.O

@invert gcc oznacza GNU Compiler Collection, ale znając GNU i ich dziwną obsesję na punkcie akronimów, prawdopodobnie oznacza oba ...
Braden Best

13

„zrzut danych”. JCL nie ma znaczenia.


Tak, ma to sens funkcjonalny, nawet jeśli pochodzenie mówi coś innego.
inwertowanie


2
Zrzut dysku jest poprawny. W tamtym czasie używanie DD do tworzenia kopii zapasowych partycji dysku twardego na taśmę było normalne. Większość innych opcji dotyczyła rzeczy, które ludzie chcieli robić z taśmami, takich jak konwersja EBCDIC na ASCII.
Michael Dillon

JCL nie ma znaczenia - zależy to od zadanego pytania. Jedno pytanie dotyczy pochodzenia historycznego, w którym to przypadku JCL jest prawdopodobnie istotne. Kolejnym pytaniem jest najbardziej sprytny i odpowiedni backronym, jaki można sobie wyobrazić do współczesnego ddużytku, w którym to przypadku odpowiedź może być bardziej odpowiednia. Nie jestem do końca pewien, o co prosi OP.
jw013,

4
Ma to duży sens i dlatego prawie na pewno się myli. Leksykografia nie jest zadaniem dla amatorów.
TRiG

1

Ktoś zastanawiał się, czy polecenie dd w systemie UNIX (i Linux) faktycznie ma jakikolwiek związek z poleceniem dd IBM JCL. Twierdziłbym, że tak się stało, i że miał bezpośredni wpływ na wybór nazwy, i oto powód.

„W przeszłości” w latach osiemdziesiątych i wcześniej AT&T posiadało systemy wsparcia operacyjnego, w szczególności systemy bilingowe, działające na urządzeniach innych niż własne systemy badawcze. W szczególności takie rzeczy, jak raporty bilingowe na duże odległości i inne artefakty, które musiały być przenoszone między systemami komputerowymi mainframe i innymi systemami, musiały mieć mechanizm.

W UNIXowym sposobie robienia rzeczy, przesyłanie plików - lub dowolnych „obiektów” może być wykonywane po trochu bajtu naraz, bez względu na zawartość lub cokolwiek innego. Polecenie dd zawierało przepisy dotyczące przesyłania tych bitów i bajtów oraz wykonywania takich czynności, jak konwersja zestawu kodów między EBCDIC i ASCII, kopiowanie kopii zapasowych na taśmach między różnymi typami mediów i tak dalej.

Dziś możemy wykonywać różne czynności przy użyciu tego dość starożytnego polecenia i wykonywać takie zadania, jak tworzenie nośnika startowego na dysku CD, DVD, w małej pamięci USB i kto wie, co będzie dalej, ponieważ narzędzie może po prostu przesyłać informacje bez względu na zawartość. Pod tym względem polecenie dd jest jednym z najbardziej użytecznych poleceń w arsenale systemów UNIX i Linux.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.