dd –uniksowy program do niskopoziomowego kopiowania i konwersji surowych danych (ang. raw data).dd jest używane do kopiowania określonej liczbybajtów lub bloków danych wraz z opcjonalnym konwertowaniem kopiowanych danych (np. zmianą kolejności bajtów, konwersją zEBCDIC doASCII). Powszechnym wykorzystaniemdd jest do tworzenia kopiiboot sektora dysku, odczyt danych ze specjalnych plików takich jak/dev/zero albo/dev/random. Sprawdza się również przy odczycie i zapisie urządzeń blokowych takich jak taśmy magnetyczne.
Ponieważdd potrafi operować napartycjach lub na całych dyskach, jest często wykorzystywane przy gromadzeniu „cyfrowych dowodów”, gdzie niezbędne jest odczytanie dysku „bit po bicie”. Użycie komendycp byłoby tu niewystarczające, gdyż dane z usuniętychplików, które nie zostały jeszcze „nadpisane”, nie są widoczne dlasystemu plików, do którego odwołuje sięcp, a którydd pomija.
WGNU/Linuksie jest częścią pakietuGNU Coreutils.
część podręcznika systemu UNIX z 1975 r. opisującadd była zatytułowana „dd - convert and copy a file”. Ponieważ skrót „cc” od pierwszych liter wyrażenia „copy and convert” był już zajęty przezkompilatorjęzyka C (ang.C Compiler), stąd zdaniem niektórych użyto kolejnych liter alfabetu.
np. dd if=nazwa_pliku_wejściowego of=nazwa_pliku_wyjściowego
W rodzinie systemów UNIX obowiązuje zasada, aby stosować jednakową składnię dla wszystkich poleceńlinii poleceń. Twórcyddzłamali tę zasadę[potrzebny przypis], rzekomo wzorując składniędd na składnijęzyka JCL. Zamiast uniksowej składni „-opcja wartość”dd używa składni „opcja=wartość”. Ponadto wejście programudd oznaczamy opcją „if” (ang.input file - plik wejściowy), podczas gdy większość komend pobiera nazwę wejścia bez dodatkowych oznaczeń. W przypadku wyjścia programu „of” (ang.output file - plik wyjściowy) sytuacja jest analogiczna. Innymi słowy w dd stosowane są parametry kluczowe, a nie pozycyjne.Nadmiarowa składnia zapobiega pomyleniu i bezpowrotnej destrukcji danych.
dd if=/dev/cdrom of=/home/użytkownik/obraz_plyty.iso
gdzie /dev/cdrom jest plikiem urządzenia odczytującegoCD-ROM, a /home/użytkownik/obraz_plyty.iso plikiem wynikowym.
dd if=obraz_dyskietki.img of=/dev/fd0
obraz_dyskietki.img - nazwa pliku zawierającego obrazdyskietki./dev/fd0 - napęd dyskietek
dd if=/dev/hda of=kopia_mbr bs=512 count=1
zapisze kopię MBR pierwszego dysku (hda) w pliku kopia_mbr
dd if=/dev/urandom of=/dev/sdb
dd if=/dev/zero of=dysk
exporthdd=dyskforn$(seq12);doddif=/dev/urandomof=$hdd;done;ddif=/dev/zeroof=$hdd
/dev/sdb - nazwa dysku, który chcemy skasować (dyski można sprawdzić #fdisk -l).
dd if=/dev/urandom of=duzy_plik bs=512 count=2097152
Ponieważ 1GB to 1024⋅1024⋅1024 = 1 073 741 824 B, a parametrem bs=512 określiliśmy pożądany rozmiar bloku danych na 512 B, stąd liczba kopiowanych bloków danych musi wynosić: 1 073 741 824 / 512 = 2 097 152, co określa parametr count=2097152.
disk='/dev/sdb2'tape='reszta1Linux'(dd bs=288k skip=101717 count=0 && dd bs=1) < $disk> $tape
512bajtów jest domyślnym rozmiarem bloku.
dd if=/dev/mem|hexdump -C |less
$ dd if=/dev/zero bs=4096 count=1000 of=p1; dd if=/dev/zero of=p2; rm -f p1; rm -f p2
A # dd if=/dev/cciss/c0d0 |gzip |nc 192.168.1.30 5555B $ nc -l 5555 > zapasSerwera.img.gz
W przykładzie /dev/cciss/c0d0 tomacierz dyskowaHP. Do wejścia 'if=' może być skierowane również dowolne urządzenie: dysk /dev/sda macierz programowa /dev/md1, pojedyncza partycja np/dev/sdp6 lublogiczny volumen /dev/vgrupa2/lvol4. Jeżeli uruchomimy komputer A z linuksowegoLive CD można będzie podobnie zabezpieczyć system dowolnegoWindows cały pierwszy twardy dysk z partycją C: będzie wtedy /dev/hda lub /dev/sda.
# dd if=/dev/sdb of=dysk.img
Gdzie /dev/sdb to dysk którego chcemy zrobić kopię, a dysk.img to plik obrazu dysku (w wypadku określenia urządzenia zamiast pliku, zostanie on sklonowany)
# dd if=/dev/hdb of=uszkodzony_dysk.img conv=noerror
Gdzie /dev/hdb to uszkodzony dysk którego chcemy zrobić kopię, a uszkodzony_dysk.img to plik obrazu dysku.
dd(1)
– strona podręcznika systemuLinux(ang.)System plików | |
---|---|
Procesy | |
Środowisko użytkownika | |
Przetwarzanie tekstu | |
Wbudowane w powłokę | |
Komunikacja | |
Wyszukiwanie | |
Dokumentacja | |
Różne |