logo

komanda “dd” operētājsistēmā Linux

dd ir komandrindas utilīta Unix un Unix līdzīgām operētājsistēmām, kuru galvenais mērķis ir konvertēt un kopēt failus.

  • Operētājsistēmā Unix aparatūras draiveri (piemēram, cietie diski) un īpašie ierīču faili (piemēram, /dev/zero un /dev/random) parādās failu sistēmā tāpat kā parastie faili.
  • dd var arī lasīt un/vai rakstīt no/uz šiem failiem, ja funkcija ir ieviesta to attiecīgajos draiveros
  • Rezultātā dd var izmantot tādiem uzdevumiem kā cietā diska sāknēšanas sektora dublēšana un fiksēta nejaušu datu apjoma iegūšana.
  • Programma dd var arī veikt datu konvertēšanu, kad tie tiek kopēti, tostarp baitu secības apmaiņu un konvertēšanu uz un no ASCII un EBCDIC teksta kodējumiem.

Lietošana: dd komandrindas sintakse atšķiras no daudzām citām Unix programmām, jo ​​tajā tiek izmantota sintakse opcija = vērtība komandrindas opcijām, nevis standarta -opcijas vērtība vai –opcija=vērtība formātos. Pēc noklusējuma dd lasa no stdin un raksta uz stdout, taču tos var mainīt, izmantojot opcijas if (ievades fails) un of (izejas fails).



Daži praktiski piemēri par komandu dd:

    Visa cietā diska dublēšana: lai dublētu visu cietā diska kopiju citā cietajā diskā, kas pievienots tai pašai sistēmai, izpildiet komandu dd, kā parādīts attēlā. Šajā komandas dd piemērā avota cietā diska UNIX ierīces nosaukums ir /dev/hda un mērķa cietā diska ierīces nosaukums ir /dev/hdb.
     # dd if=/dev/sda of=/dev/sdb>
    • ja apzīmē ievades failu un no apzīmē izvades failu. Tātad precīza kopija /dev/sda būs pieejams /dev/sdb .
    • Ja ir kādas kļūdas, iepriekš minētā komanda neizdosies. Ja norādāt parametru conv=noerror tad tas turpinās kopēt, ja būs lasīšanas kļūdas.
    • Ievades fails un izvades fails ir jāmin ļoti uzmanīgi. Katram gadījumam, ja mērķī pieminējat avota ierīci un otrādi, varat zaudēt visus savus datus.
    • Lai kopētu cieto disku uz cieto disku, izmantojot tālāk norādīto komandu dd, sinhronizācijas opcija ļauj kopēt visu, izmantojot sinhronizētu I/O.
       # dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
    Lai dublētu nodalījumu: ievades failā varat izmantot nodalījuma ierīces nosaukumu, un izvadē varat norādīt mērķa ceļu vai attēla failu, kā parādīts komandā dd.
     # dd if=/dev/hda1 of=~/partition.img>
    Lai izveidotu cietā diska attēlu: tā vietā, lai izveidotu cietā diska dublējumu, varat izveidot cietā diska attēla failu un saglabāt to citās atmiņas ierīcēs. Datu dublēšanai diska attēlā ir daudz priekšrocību, viena no tām ir lietošanas vienkāršība. Šī metode parasti ir ātrāka nekā cita veida dublējumkopijas, ļaujot ātri atjaunot datus pēc negaidītas katastrofas. Tā izveido cietā diska /dev/hda attēlu.
     # dd if=/dev/hda of=~/hdadisk.img>
    Lai atjaunotu, izmantojot cietā diska attēlu: lai atjaunotu cieto disku ar cita cietā diska attēla failu, var izmantot šādu dd komandu.
     # dd if=hdadisk.img of=/dev/hdb>

    Attēla fails hdadisk.img ir /dev/hda attēls, tāpēc iepriekš minētā komanda atjaunos /dev/hda attēlu uz /dev/hdb. Lai izveidotu CDROM dublējumu: komanda dd ļauj izveidot iso failu no avota faila. Tātad mēs varam ievietot kompaktdisku un ievadīt komandu dd, lai izveidotu kompaktdiska satura iso failu.

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

    dd komanda nolasa vienu ievades bloku un apstrādā to un ieraksta to izvades failā. Varat norādīt ievades un izvades faila bloka izmēru. Iepriekš minētajā komandas dd piemērā parametrs bs norāda bloka lielumu gan ievades, gan izvades failam. Tātad dd lietojumi 2048 baiti kā bloka lielumu iepriekš minētajā komandā.

Atsauces: