Dd

Linux.fista
Versio hetkellä 10. toukokuuta 2007 kello 19.30 – tehnyt Heikki (keskustelu | muokkaukset) (kh)
Siirry navigaatioon Siirry hakuun

dd on työkalu eri tiedostojen matalan tason kopiointiin ja muuntamiseen toiseen muotoon. Toisin kuin cp, joka kopioi kokonaisia tiedostoja, kopioi dd tiedoston sisällön bitintarkasti. Tästä syystä dd:llä voidaan esimerkiksi tehdä identtinen kopio jostakin osiosta (partition) jollekin toiselle osiolle.

Käyttö

dd if=/dev/urandom of=/dev/hda 

Kopioi koko ykköskiintolevyn (/dev/hda), mukaanlukien esimerkiksi osiotaulukon, täyteen satunnaista dataa, mikä tuhoaa kaiken tällä kiintolevyllä ja sen eri osioilla sijaitsevan tiedon. Mikäli lähdetiedostona käytetään /dev/random:ia, on satunnaisluvun taso korkeampi, mutta operaatio sujuu selvästi hitaammin.

dd if=dev/zero of=/dev/hdb bs=512 count=2

Kirjoittaa kiintolevyn /dev/hdb osiotaulukon ja pääkäynnistyslohkon täyteen nollaa, mikä käytännössä estää kiintolevyn nykyisten tietojen käytön. Sitä varten käytettäväksi lohkokooksi määritellään 512 tavua ja tämän lohkon kirjoitus määritellään toistettavaksi kaksi kertaa.

Levykuvien luonti

dd if=/dev/fd0 of=korppu.img

Tekee sisälläolevasta levykkeestä (laitetiedosto /dev/fd0) levykuvan (imagen) tiedostoon korppu.img

dd if=/dev/zero of=/polku/<levykuvan nimi> count=<koko> bs=1024

Luo tyhjän tiedoston, jota voi käyttää levykuvana, levykuvan koko kibitavuina.

Yleistä

Dd:tä voi käyttä myös putkissa, if- ja of-parametrit eivät ole pakollisia:

fortune | dd | less

toimii tarkalleen samoin kuin

fortune | less

Tällöin dd:n käyttö vaikuttaa tyhmältä, mutta jos välissä on vaikkapa ssh-yhteys, dd:stä saattaa olla enemmän hyötyä:

fortune | ssh kayttaja@kone 'dd | less'