logo

Polecenie „dd” w systemie Linux

dd to narzędzie wiersza poleceń dla systemów operacyjnych Unix i Unix, którego głównym celem jest konwersja i kopiowanie plików.

  • W systemie Unix sterowniki urządzeń (takie jak dyski twarde) i specjalne pliki urządzeń (takie jak /dev/zero i /dev/random) pojawiają się w systemie plików tak samo jak normalne pliki.
  • dd może również czytać i/lub zapisywać z/do tych plików, pod warunkiem, że funkcja ta jest zaimplementowana w odpowiednich sterownikach
  • W rezultacie dd można używać do zadań takich jak tworzenie kopii zapasowej sektora rozruchowego dysku twardego i uzyskiwanie stałej ilości losowych danych.
  • Program dd może również wykonywać konwersje danych podczas ich kopiowania, w tym zamianę kolejności bajtów oraz konwersję do i z kodowania tekstu ASCII i EBCDIC.

Stosowanie : Składnia wiersza poleceń programu dd różni się od wielu innych programów uniksowych tym, że wykorzystuje tę składnię opcja=wartość dla opcji wiersza poleceń, a nie bardziej standardowych -Wartość opcji Lub –opcja=wartość formaty. Domyślnie dd czyta ze stdin i zapisuje na stdout, ale można to zmienić za pomocą opcji if (plik wejściowy) i of (plik wyjściowy).

Kilka praktycznych przykładów polecenia dd:



    Aby wykonać kopię zapasową całego dysku twardego: Aby wykonać kopię zapasową całej kopii dysku twardego na innym dysku twardym podłączonym do tego samego systemu, wykonaj polecenie dd, jak pokazano. W tym przykładzie polecenia dd nazwa urządzenia źródłowego dysku twardego w systemie UNIX to /dev/hda, a nazwa urządzenia docelowego dysku twardego to /dev/hdb.
     # dd if=/dev/sda of=/dev/sdb>
    • Jeśli reprezentuje plik wejściowy i z reprezentuje plik wyjściowy. Zatem dokładna kopia /dev/sda będzie dostępny w /dev/sdb .
    • Jeśli wystąpią jakiekolwiek błędy, powyższe polecenie zakończy się niepowodzeniem. Jeśli podasz parametr konw=brak błędu następnie będzie kontynuować kopiowanie, jeśli wystąpią błędy odczytu.
    • Plik wejściowy i plik wyjściowy należy wymienić bardzo ostrożnie. Na wszelki wypadek wspomnisz o urządzeniu źródłowym w miejscu docelowym i odwrotnie, możesz stracić wszystkie dane.
    • Aby skopiować dysk twardy na dysk twardy, użyj polecenia dd podanego poniżej, opcja synchronizacji umożliwia skopiowanie wszystkiego przy użyciu zsynchronizowanych wejść/wyjść.
       # dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
    Aby wykonać kopię zapasową partycji: Możesz użyć nazwy urządzenia partycji w pliku wejściowym, a na wyjściu możesz określić ścieżkę docelową lub plik obrazu, jak pokazano w poleceniu dd.
     # dd if=/dev/hda1 of=~/partition.img>
    Aby utworzyć obraz dysku twardego: Zamiast tworzyć kopię zapasową dysku twardego, możesz utworzyć plik obrazu dysku twardego i zapisać go na innych urządzeniach pamięci masowej. Tworzenie kopii zapasowych danych na obrazie dysku ma wiele zalet, a jedną z nich jest łatwość użycia. Ta metoda jest zazwyczaj szybsza niż inne typy kopii zapasowych i umożliwia szybkie przywrócenie danych po nieoczekiwanej katastrofie. Tworzy obraz dysku twardego /dev/hda.
     # dd if=/dev/hda of=~/hdadisk.img>
    Aby przywrócić za pomocą obrazu dysku twardego: Aby przywrócić dysk twardy za pomocą pliku obrazu innego dysku twardego, można użyć następującego polecenia dd
     # dd if=hdadisk.img of=/dev/hdb>

    Plik obrazu hdadisk.img jest obrazem /dev/hda, więc powyższe polecenie przywróci obraz /dev/hda do /dev/hdb. Aby utworzyć kopię zapasową CDROM: polecenie dd umożliwia utworzenie pliku ISO z pliku źródłowego. Możemy więc włożyć płytę CD i wprowadzić polecenie dd, aby utworzyć plik iso z zawartością płyty CD.

     # dd if=/dev/cdrom of=tgsservice.iso bs=2048>

    Polecenie dd odczytuje jeden blok wejściowy, przetwarza go i zapisuje do pliku wyjściowego. Można określić rozmiar bloku dla pliku wejściowego i wyjściowego. W powyższym przykładzie polecenia dd parametr bs określa rozmiar bloku zarówno dla pliku wejściowego, jak i wyjściowego. Więc dd używa 2048 bajtów jako rozmiar bloku w powyższym poleceniu.

Bibliografia :