logo

príkaz „dd“ v systéme Linux

dd je nástroj príkazového riadka pre operačné systémy Unix a Unixu, ktorého primárnym účelom je konvertovať a kopírovať súbory.

  • V systéme Unix sa ovládače zariadení pre hardvér (napríklad jednotky pevného disku) a špeciálne súbory zariadení (napríklad /dev/zero a /dev/random) zobrazujú v súborovom systéme rovnako ako bežné súbory.
  • dd môže tiež čítať a/alebo zapisovať z/do týchto súborov za predpokladu, že táto funkcia je implementovaná v ich príslušných ovládačoch
  • Výsledkom je, že dd možno použiť na úlohy, ako je zálohovanie zavádzacieho sektora pevného disku a získanie pevného množstva náhodných údajov.
  • Program dd môže tiež vykonávať konverzie údajov pri ich kopírovaní, vrátane zámeny poradia bajtov a konverzie do a z textových kódovaní ASCII a EBCDIC.

Použitie: Syntax príkazového riadku dd sa líši od mnohých iných unixových programov v tom, že používa syntax možnosť=hodnota pre možnosti príkazového riadku, a nie štandardnejšie - hodnota opcie alebo –možnosť=hodnota formátov. Štandardne dd číta zo stdin a zapisuje do stdout, ale tieto je možné zmeniť pomocou volieb if (vstupný súbor) a of (výstupný súbor).

Niekoľko praktických príkladov príkazu dd:



    Zálohovanie celého pevného disku: Ak chcete zálohovať celú kópiu pevného disku na iný pevný disk pripojený k rovnakému systému, vykonajte príkaz dd podľa obrázka. V tomto príklade príkazu dd je názov zariadenia UNIX zdrojového pevného disku /dev/hda a názov zariadenia cieľového pevného disku je /dev/hdb.
     # dd if=/dev/sda of=/dev/sdb>
    • ak predstavuje vstupný súbor a z predstavuje výstupný súbor. Takže presná kópia /dev/sda bude k dispozícii v /dev/sdb .
    • Ak sa vyskytnú nejaké chyby, vyššie uvedený príkaz zlyhá. Ak zadáte parameter conv=noerror potom bude pokračovať v kopírovaní, ak sa vyskytnú chyby čítania.
    • Vstupný súbor a výstupný súbor je potrebné spomenúť veľmi opatrne. Len v prípade, že uvediete zdrojové zariadenie v cieli a naopak, môžete stratiť všetky svoje dáta.
    • Ak chcete kopírovať pevný disk na pevný disk pomocou príkazu dd uvedeného nižšie, možnosť synchronizácie vám umožňuje skopírovať všetko pomocou synchronizovaných I/O.
       # dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
    Zálohovanie oddielu: Vo vstupnom súbore môžete použiť názov zariadenia oddielu a vo výstupe môžete zadať cieľovú cestu alebo súbor s obrázkom, ako je uvedené v príkaze dd.
     # dd if=/dev/hda1 of=~/partition.img>
    Vytvorenie obrazu pevného disku: Namiesto zálohovania pevného disku môžete vytvoriť obrazový súbor pevného disku a uložiť ho na iné úložné zariadenia. Zálohovanie údajov do obrazu disku má mnoho výhod, jednou z nich je jednoduchosť použitia. Táto metóda je zvyčajne rýchlejšia ako iné typy záloh, čo vám umožňuje rýchlo obnoviť dáta po neočakávanej katastrofe. Vytvára obraz pevného disku /dev/hda.
     # dd if=/dev/hda of=~/hdadisk.img>
    Obnovenie pomocou obrazu pevného disku: Ak chcete obnoviť pevný disk pomocou súboru obrazu iného pevného disku, môžete použiť nasledujúci príkaz dd
     # dd if=hdadisk.img of=/dev/hdb>

    Obrazový súbor hdadisk.img je obrazom /dev/hda, takže vyššie uvedený príkaz obnoví obraz /dev/hda na /dev/hdb. Vytvorenie zálohy CDROM: príkaz dd vám umožňuje vytvoriť súbor iso zo zdrojového súboru. Takže môžeme vložiť CD a zadať príkaz dd na vytvorenie súboru iso obsahu CD.

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

    Príkaz dd prečíta jeden blok vstupu a spracuje ho a zapíše ho do výstupného súboru. Môžete určiť veľkosť bloku pre vstupný a výstupný súbor. Vo vyššie uvedenom príklade príkazu dd je parameter bs určuje veľkosť bloku pre vstupný aj výstupný súbor. Takže dd používa 2048 bajtov ako veľkosť bloku vo vyššie uvedenom príkaze.

Referencie: