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.