| Typ softwaru | standardní UNIXová utilita či příkaz |
|---|---|
| Některá data mohou pocházet zdatové položky. | |
dd (z anglického disk duplicator, případně disk destroyer[chybí zdroj]) jepočítačový program s rozhraním propříkazový řádek, jehož hlavním účelem je převod a kopírování souborů. Používá se vUnix aoperačních systémech unixového typu (napříkladLinux,FreeBSD,Mac OS a další).[1]
V Unixu ovladače zařízení prohardware (napříkladpevné disky) a speciální soubory (např./dev/zero nebo/dev/urandom), jsou v systému souborů reprezentovány stejně jako normální soubory; dd může také číst anebo zapisovat z a do těchto souborů, za předpokladu, že funkce je implementována v jejichovladačích. Proto může býtdd použit pro úkoly, jako je zálohováníboot sektoru pevného disku nebo získání náhodných dat o stanovené velikosti. Programdd může také provádět převody dat během jejich kopírování, a to včetně změny endianity a konverze do a zASCII aEBCDIC kódování textu.[2]Název dd je narážka napříkaz DD vJob Control Language (JCL) odIBM,[3][4] podle iniciálů "Data Definition".[3][5]
Původně byldd zamýšlen pro převod meziASCII aEBCDIC. Objevil se poprvé v Unixverze 5.[6] Příkazdd je specifikován vIEEE Std 1003.1-2008, který je součástíSingle UNIX Specification.
Příkazdd může být použit pro mnoho různých účelů. Ve výchozím nastavenídd čte zestandardního vstupu a zapisuje dostandardního výstupu. Toto chování lze měnit pomocí parametrůif (vstupní soubor) aof (výstupní soubor).
dd můžeduplikovat data napříč soubory, zařízeními, diskovými oddíly a svazky. Data mohou být vstupem či výstupem do a z každého z nich. Během přenosu mohou být data měněna pomocí parametruconv.
$ddif=/dev/sr0of=myCD.isobs=2048conv=noerror,sync | VytvoříISOobraz disku z disku CD-ROM |
$ddif=hdx.imgof=/dev/hdxbs=2048conv=noerror,sync | Obnoví pevný disk (nebo třeba paměťovou kartu SD) z dříve vytvořeného obrazu. |
$ddif=/dev/sda2of=/dev/sdb2bs=4096conv=noerror | Klonuje jedenoddíl do druhého. |
$ddif=/dev/ad0of=/dev/ad1bs=1Mconv=noerror | Klonuje pevný disk "ad0" na "ad1". |
Parametrnoerror programu sděluje, že uživatel chce pokračovat, pokud se objeví chyba.
Z bezpečnostních důvodů je někdy nutné vyřazený disk kompletně přepsat.
Příkazdd může být použit k přepisu disku zápisem nul takto:
$ddif=/dev/zeroof=/dev/sdabs=4k
Jiný způsob je přepis disku pomocí zápisu náhodných dat:
$ddif=/dev/urandomof=/dev/sdabs=4k
Parametrbs=4k znamená čtení a zápis 4 kb zároveň. Přepsání disku náhodnými daty bude vždy trvat déle, než přepis nulami, protože náhodné údaje musí být vygenerovány. Na většině moderních disků přepis nulami zamezí budoucí obnově dat.[7]
Alternativou pro tento úkol je programyshred a wipe[8], které jsou přítomny v mnoha linuxových distribucích.
Benchmark test disku a sekvenční analýza systémového výkonu čtení a zápisu pro bloky o velikosti 1024 bajtů:
$ddif=/dev/zerobs=1024count=1000000of=file_1GB$ddif=file_1GBof=/dev/nullbs=1024
K vytvoření souboru ze 100 náhodných bajtů pomocí /dev/random:
$ddif=/dev/urandomof=myrandombs=100count=1
V tomto článku byl použitpřeklad textu z článkuDd (Unix) na anglické Wikipedii.
{{Cite web}} označená jako k „pouze dočasnému použití“.{{Cite web}} označená jako k „pouze dočasnému použití“.{{Cite web}} označená jako k „pouze dočasnému použití“.{{Cite web}} označená jako k „pouze dočasnému použití“.{{Cite journal}} označená jako k „pouze dočasnému použití“.{{Cite journal}} označená jako k „pouze dočasnému použití“.{{Cite web}} označená jako k „pouze dočasnému použití“.| Příkazy a programypříkazové řádkyUnixu (více) | |
|---|---|
| Správa souborů | |
| Správa procesů | |
| Správa uživatelů a prostředí | |
| Zpracování textu | |
| Programování vshellu | |
| Síťová komunikace | |
| Hledání | |
| Ostatní | |