**`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,sync

```
 | Vytvorí ISO obraz disku z disku CD-ROM |
| 
```
$ dd if=/dev/myCD.iso of=/dev/sr0 bs=2048 conv=noerror,sync

```
 | Obnoví 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=noerror

```
 | Klonom jeden oddiel do druhého. |
| 
```
$ dd if=/dev/ad0 of=/dev/ad1 bs=1M conv=noerror

```
 | Klonom 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
----------

1. ↑  . Dostupné online.
2. ↑   *Archivovaná kópia* [online]. [Cit. 2019-07-19]. Dostupné online. Archivované 2008-02-14 z originálu.
3. ↑  . Dostupné online.
4. ↑  RITCHIE, Dennis. *Re: origin of the UNIX dd command* [online]. groups.google.com, 2004-02-17, [cit. 2023-12-09]. Dostupné online.
5. ↑  Barry Shein. *Re: etymology of the Unix "dd" command* [online]. Apr 22, 1990, [cit. 2016-07-14]. Dostupné online.
6. ↑  . Dostupné online.
7. ↑   Overwriting Hard Drive Data: The Great Wiping Controversy. *Lecture Notes in Computer Science*, 2008, s. 243–257. Dostupné online [cit. 2012-03-07]. DOI: 10.1007/978-3-540-89862-7\_21.  Archivované 2019-09-24 na Wayback Machine
8. ↑  . Dostupné online.

Externé odkazy
--------------

* `dd` – Commands & Utilities Reference, The Single UNIX Specification, Issue 7 from The Open Group.

Zdroj
-----

* *Tento článok je čiastočný alebo úplný preklad článku Dd (Unix) na českej Wikipédii.*
* *Tento článok je čiastočný alebo úplný preklad článku Dd (Unix) na anglickej Wikipédii.*

| * z
* d
* u
Príkazy a programy príkazového riadku Unixu |
| --- |
| Správa súborov | cat • chattr • cd • chmod • chown • chgrp • cksum • cmp • cp • du • df • file • fsck • fuser • ln • ls • lsattr • lsof • mkdir • mount • mv • pwd • rm • rmdir • split • touch |
| Správa procesov | at • chroot • crontab • exit • kill • killall • nice • pgrep • pidof • pkill • ps • pstree • sleep • time • top • wait • watch |
| Správa užívateľov a prostredia | env • finger • id • logname • mesg • passwd • su • sudo • uname • uptime • w • wall • who • whoami • write |
| Spracovanie textu | awk • comm • cut • diff • ed • ex • fmt • head • iconv • join • less • more • patch • paste • sed • sort • tac • tail • tr • uniq • wc • xargs |
| Programovanie v shelle | alias • basename • echo • expr • false • printf • test • true • unset |
| Sieťová komunikácia | dig • inetd • host • ifconfig • netstat • nslookup • ping • rlogin • nc • traceroute |
| Hľadanie | find •  grep • strings |
| Ostatné | banner • bc • cal • dd • lp • man • size • yes |