logo

ukaz 'dd' v Linuxu

dd je pripomoček ukazne vrstice za Unix in Unixu podobne operacijske sisteme, katerega glavni namen je pretvorba in kopiranje datotek.

  • V sistemu Unix se gonilniki naprav za strojno opremo (kot so trdi diski) in posebne datoteke naprav (kot sta /dev/zero in /dev/random) pojavijo v datotečnem sistemu tako kot običajne datoteke.
  • dd lahko tudi bere in/ali piše iz/vanje teh datotek, če je ta funkcija implementirana v njihovih gonilnikih
  • Posledično se lahko dd uporablja za naloge, kot je varnostno kopiranje zagonskega sektorja trdega diska in pridobivanje fiksne količine naključnih podatkov.
  • Program dd lahko izvede tudi pretvorbe podatkov, ko se kopirajo, vključno z zamenjavo vrstnega reda bajtov in pretvorbo v in iz besedilnih kodiranj ASCII in EBCDIC.

Uporaba: Sintaksa ukazne vrstice dd se razlikuje od mnogih drugih programov Unix po tem, da uporablja sintakso možnost=vrednost za možnosti ukazne vrstice, namesto bolj standardnega -vrednost opcije oz –možnost=vrednost formatov. Privzeto dd bere iz stdin in piše v stdout, vendar je to mogoče spremeniti z možnostma if (vhodna datoteka) in of (izhodna datoteka).

Nekaj ​​praktičnih primerov o ukazu dd:



    Varnostno kopiranje celotnega trdega diska: Če želite varnostno kopirati celotno kopijo trdega diska na drug trdi disk, povezan z istim sistemom, izvedite ukaz dd, kot je prikazano. V tem primeru ukaza dd je ime naprave UNIX izvornega trdega diska /dev/hda, ime naprave ciljnega trdega diska pa /dev/hdb.
     # dd if=/dev/sda of=/dev/sdb>
    • če predstavlja vhodno datoteko in od predstavlja izhodno datoteko. Torej natančna kopija /dev/sda bo na voljo v /dev/sdb .
    • Če pride do napak, zgornji ukaz ne bo uspel. Če navedete parameter konv=ni napake potem bo nadaljeval s kopiranjem, če pride do napak pri branju.
    • Vhodno in izhodno datoteko je treba omeniti zelo previdno. Za vsak slučaj, če omenite izvorno napravo v cilju in obratno, lahko izgubite vse svoje podatke.
    • Če želite kopirati trdi disk na trdi disk z ukazom dd, podanim spodaj, vam možnost sinhronizacije omogoča kopiranje vsega s sinhroniziranim V/I.
       # dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
    Varnostno kopiranje particije: v vhodni datoteki lahko uporabite ime naprave particije, v izhodu pa lahko podate ciljno pot ali slikovno datoteko, kot je prikazano v ukazu dd.
     # dd if=/dev/hda1 of=~/partition.img>
    Če želite ustvariti sliko trdega diska: Namesto da naredite varnostno kopijo trdega diska, lahko ustvarite slikovno datoteko trdega diska in jo shranite v druge naprave za shranjevanje. Varnostno kopiranje podatkov na sliko diska ima veliko prednosti, ena je enostavna uporaba. Ta metoda je običajno hitrejša od drugih vrst varnostnih kopij in vam omogoča hitro obnovitev podatkov po nepričakovani katastrofi. Ustvari sliko trdega diska /dev/hda.
     # dd if=/dev/hda of=~/hdadisk.img>
    Za obnovitev s sliko trdega diska: Če želite obnoviti trdi disk s slikovno datoteko drugega trdega diska, lahko uporabite naslednji ukaz dd
     # dd if=hdadisk.img of=/dev/hdb>

    Slikovna datoteka hdadisk.img je slika /dev/hda, zato bo zgornji ukaz obnovil sliko /dev/hda v /dev/hdb. Če želite ustvariti varnostno kopijo CD-ROM-a: ukaz dd omogoča ustvarjanje datoteke iso iz izvorne datoteke. Tako lahko vstavimo CD in vnesemo ukaz dd, da ustvarimo datoteko iso z vsebino CD-ja.

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

    Ukaz dd prebere en blok vnosa in ga obdela ter zapiše v izhodno datoteko. Določite lahko velikost bloka za vhodno in izhodno datoteko. V zgornjem primeru ukaza dd je parameter bs določa velikost bloka za vhodno in izhodno datoteko. Torej dd uporablja 2048 bajtov kot velikost bloka v zgornjem ukazu.

Reference: