logo

příkaz „dd“ v Linuxu

dd je nástroj příkazového řádku pro Unix a Unixové operační systémy, jehož primárním účelem je převádět a kopírovat soubory.

  • Na Unixu se ovladače zařízení pro hardware (jako jsou pevné disky) a speciální soubory zařízení (jako /dev/zero a /dev/random) objevují v systému souborů stejně jako normální soubory.
  • dd může také číst a/nebo zapisovat z/do těchto souborů za předpokladu, že je tato funkce implementována v příslušných ovladačích
  • V důsledku toho lze dd použít pro úkoly, jako je zálohování boot sektoru pevného disku a získávání pevného množství náhodných dat.
  • Program dd může také provádět převody dat při jejich kopírování, včetně záměny pořadí bajtů a převodu do az textových kódování ASCII a EBCDIC.

Použití: Syntaxe příkazového řádku dd se liší od mnoha jiných unixových programů v tom, že používá syntaxi možnost=hodnota pro jeho možnosti příkazového řádku, spíše než standardnější -hodnota volby nebo –volba=hodnota formátů. Ve výchozím nastavení dd čte ze stdin a zapisuje do stdout, ale ty lze změnit pomocí voleb if (vstupní soubor) a of (výstupní soubor).



Některé praktické příklady příkazu dd:

    Zálohování celého pevného disku: Chcete-li zálohovat celou kopii pevného disku na jiný pevný disk připojený ke stejnému systému, spusťte příkaz dd podle obrázku. V tomto příkladu příkazu dd je název zařízení UNIX zdrojového pevného disku /dev/hda a název zařízení cílového pevného disku je /dev/hdb.
     # dd if=/dev/sda of=/dev/sdb>
    • -li představuje vstupní soubor a z představuje výstupní soubor. Takže přesná kopie /dev/sda bude k dispozici v /dev/sdb .
    • Pokud se vyskytnou nějaké chyby, výše uvedený příkaz selže. Pokud uvedete parametr conv=noerror pak bude pokračovat v kopírování, pokud se vyskytnou chyby čtení.
    • Vstupní a výstupní soubor by měl být zmíněn velmi pečlivě. Jen v případě, že uvedete zdrojové zařízení v cíli a naopak, můžete přijít o všechna svá data.
    • Chcete-li zkopírovat pevný disk na pevný disk pomocí příkazu dd uvedeného níže, možnost synchronizace vám umožňuje zkopírovat vše pomocí synchronizovaných I/O.
       # dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
    Zálohování oddílu: Ve vstupním souboru můžete použít název zařízení oddílu a ve výstupu můžete zadat cílovou cestu nebo soubor obrázku, jak je znázorněno v příkazu dd.
     # dd if=/dev/hda1 of=~/partition.img>
    Vytvoření bitové kopie pevného disku: Místo zálohování pevného disku můžete vytvořit soubor bitové kopie pevného disku a uložit jej na jiná úložná zařízení. Zálohování dat do obrazu disku má mnoho výhod, jednou z nich je snadné použití. Tato metoda je obvykle rychlejší než jiné typy záloh a umožňuje vám rychle obnovit data po neočekávané katastrofě. Vytváří obraz pevného disku /dev/hda.
     # dd if=/dev/hda of=~/hdadisk.img>
    Obnovení pomocí obrazu pevného disku: Chcete-li obnovit pevný disk pomocí souboru obrazu jiného pevného disku, lze použít následující příkaz dd
     # dd if=hdadisk.img of=/dev/hdb>

    Obrazový soubor hdadisk.img je obrazem /dev/hda, takže výše uvedený příkaz obnoví obraz /dev/hda na /dev/hdb. Chcete-li vytvořit zálohu CDROM: příkaz dd vám umožňuje vytvořit soubor iso ze zdrojového souboru. Můžeme tedy vložit CD a zadat příkaz dd pro vytvoření iso souboru obsahu CD.

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

    Příkaz dd načte jeden blok vstupu a zpracuje ho a zapíše do výstupního souboru. Můžete určit velikost bloku pro vstupní a výstupní soubor. Ve výše uvedeném příkladu příkazu dd parametr bs určuje velikost bloku pro vstupní i výstupní soubor. Takže dd používá 2048 bajtů jako velikost bloku ve výše uvedeném příkazu.

Reference :