Dd (Unix)

dd je počítačový program s rozhraním pre príkazový riadok, ktorého hlavným účelom je prevod a kopírovanie súborov. Používa sa v Unixe a operačných systémoch unixového typu (napríklad Linux, FreeBSD, Mac OS a ďalšie). 

V Unixe ovládače zariadení pre hardware (napríklad pevné disky) a špeciálne súbory (napr. /dev/zero alebo /dev/urandom), sú v systéme súborov reprezentované rovnako ako normálne súbory; dd môže tiež čítať alebo zapisovať z a do týchto súborov, za predpokladu, že funkcia je implementovaná v ich ovládačoch. Preto môže byť dd použitý pre úlohy, ako je zálohovanie boot sektora pevného disku alebo získania náhodných dát o stanovenej veľkosti. Program dd môže tiež vykonávať presuny dát počas ich kopírovania, a to vrátane zmeny endianity a konverzie do a z ASCII a EBCDIC kódovania textu.
Názov dd je narážka na vyhlásenie DD v Job Control Language (JCL) od IBM, podľa iniciálok „Data Definition“. 

Pôvodne bol dd zamýšľaný na prevod medzi ASCII a EBCDIC. Objavil sa prvýkrát v Unix verzii 5. Príkaz dd je špecifikovaný v IEEE Std 1003.1-2008, ktorý je súčasťou Single UNIX Specification.

 Použitie 
Príkaz dd môže byť použitý pre mnoho rôznych účelov. V predvolenom nastavení dd číta zo štandardného vstupu a zapisuje do štandardného výstupu. Toto správanie je možné meniť pomocou if (vstupný súbor) a of (výstupný súbor).

 Prenos dát 
Dd môže duplikovať dáta naprieč súbormi, zariadeniami, diskovými oddielmi a zväzkami. Dáta môžu byť vstupom či výstupom do a z každého z nich. Počas prenosu môžu byť dáta menené pomocou parametra conv.

+Formy dd pre prenos dát$ dd if=/dev/sr0 of=myCD.iso bs=2048 conv=noerror,syncVytvorí ISO obraz disku z disku CD-ROM$ dd if=/dev/myCD.iso of=/dev/sr0 bs=2048 conv=noerror,syncObnoví pevný disk (alebo napríklad pamäťovú kartu SD) z predtým vytvoreného obrazu.$ dd if=/dev/sda2 of=/dev/sdb2 bs=4096 conv=noerrorKlonom jeden oddiel do druhého.$ dd if=/dev/ad0 of=/dev/ad1 bs=1M conv=noerrorKlonom pevný disk „AD0“ na „ad1“.

Parameter noerror programu oznamuje, že používateľ chce pokračovať, pokiaľ sa objaví chyba.

 Prepísanie disku 
Z bezpečnostných dôvodov je niekedy nutné vyradený disk kompletne prepísať.

Príkaz dd môže byť použitý k prepisu disku zápisom núl takto:
$ dd if=/dev/zero of=/dev/sda bs=4k

Iný spôsob je prepis disku pomocou zápisu náhodných dát:

$ dd if=/dev/urandom of=/dev/sda bs=4k

Parameter bs = 4k znamená čítanie a zápis 4 kb zároveň. Prepísanie disku náhodnými dátami bude vždy trvať dlhšie, než prepis nulami, pretože náhodné údaje musia byť vygenerované. Na väčšine moderných diskov prepis nulami zamedzí budúcej obnove dát. 

Alternatívou pre túto úlohu sú programy shred a wipe, ktoré sú prítomné v mnohých linuxových distribúciách.

 Benchmarking výkonu disku 
Benchmark test disku a sekvenčná analýza systémového výkonu čítania a zápisu pre bloky o veľkosti 1024 bajtov:
$ dd if=/dev/zero bs=1024 count=1000000 of=file_1GB
$ dd if=file_1GB of=/dev/null bs=1024

 Generovanie súboru s náhodnými dátami 
Na vytvorenie súboru zo 100 náhodných bajtov pomocou /dev/random:
$ dd if=/dev/urandom of=myrandom bs=100 count=1

 Referencie 

 Externé odkazy 
 .

 Zdroj 



Kategória:Unixové príkazy