dd este o comandă Unix care face o copiere și conversie low-level a datelor[1]. Comanda este descrisă în pagina de referință a manualului UNIX Version 7 și este probabil inspirată din comanda DD din IBM JCL[2]. În engleză, "DD" înseamnă Data Description.

dd este utilizată pentru copierea unui număr specificat de bytes sau blocuri, și face conversia de byte order precum și conversii mai esoterice precum cele din EBCDIC în ASCII.[3] dd poate fi de asemena folosită pentru copierea unor regiuni din fișiere driver raw, backup de sector de boot al unui hard disk, sau citirea unui număr fix de date dintr-un fișier special precum /dev/zero sau /dev/random.[4]

SintaxăModificare

Sintaxa comenzii este diferită de a celorlalte comenzi UNIX, și datorită omniprezenței sale a rezistat tuturor încercărilor uniformizare. dd folosește un format option=value în timp ce restul programelor utilitare UNIX folosesc un format -option value. De asemenea, datele de intrare ale comenzii sunt specificate folosind opțiunea if (input file).


ExempleModificare

Crearea unei imagini de disc ISO dintr-un CD-ROMModificare

dd if=/dev/cdrom of=/home/sam/myCD.iso bs=2048 conv=sync

O încercare de copiere a datelor de pe CD-ROM folosind comanda cp ar omite ultimul bloc de pe disc, rezultând într-un fișier de o lungime greșită.

Curățarea datelor de pe un hard discModificare

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

sau în mod alternativ

for n in {1..7}; do dd if=/dev/urandom of=/dev/sda bs=8b; done

Duplicarea unei partiții de disc pe o altă partițieModificare

dd if=/dev/sda2 of=/dev/sdb2 bs=4096 conv=noerror

Copierea unei partiții de disc într-un fișierModificare

dd if=/dev/sdb2 of=/home/sam/partition.image bs=4096 conv=noerror

Copierea unei partiții de disc pe un alt calculatorModificare

dd if=/dev/sdb2 | ssh user@host "dd of=/home/user/partition.image"

Crearea unui fișier de 1GB care conține numai zerouriModificare

dd if=/dev/zero of=file1G.tmp bs=1G count=1

Duplicarea primelor 2 sectoare de pe discuri floppyModificare

dd if=/dev/fd0 of=/home/sam/MBRboot.image bs=512 count=2

Crearea unei imagini de disc pentru întregul MBR (master boot record) incluzând tabela de partițiiModificare

dd if=/dev/sda of=/home/sam/MBR.image bs=512 count=1

Crearea unei imagini de disc pentru întregul MBR excluzând tabela de partițiiModificare

dd if=/dev/sda of=/home/sam/MBR_boot.image bs=446 count=1

Un test de performanță intrare/ieșire la scrierea pe discModificare

  dd if=/dev/zero bs=1024 count=1000000 of=/home/sam/1Gb.file
 dd if=/home/sam/1Gb.file bs=64k | dd of=/dev/null

Generează un fișier umplut cu 100 octeți cu valori aleatoareModificare

 dd if=/dev/urandom of=/home/sam/myrandom bs=100 count=1

Conversia numelui unui fișier din litere mici în litere mariModificare

dd if=filename of=filename conv=ucase

Căutarea de stringuri în memorieModificare

 dd if=/dev/mem | hexdump -C | grep ”some string”

Suprascrierea cu zerouri a unui fișier de 1GBModificare

dd if=/dev/zero of=mytestfile.out bs=1 count=0 seek=1G


NoteModificare

  1. ^ Bell Laboratories. „dd man page”. Accesat în . 
  2. ^ Eric S. Raymond. „dd”. Accesat în . 
  3. ^ Sam Chessman. „How and when to use the dd command?”. CodeCoffee. Accesat în . 
  4. ^ „Dd - LQWiki”. LinuxQuestions.org. Accesat în . 


Legături externeModificare


 v  d  m  Programe în linia de comandă pentru Unix (mai multe)
Management de fișiere: cat | cd | chmod | chown | chgrp | cksum | cmp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | mount | mv | pwd | rm | rmdir | split | touch
Management de procese: at | chroot | cron | exit | kill | killall | nice | pgrep | pidof | pkill | ps | pstree | sleep | time | top | wait
Management utilizator/mediu: env | finger | id | mesg | passwd | su | sudo | uname | uptime | w | wall | who | whoami | write
Procesare text: awk | comm | cut | ed | ex | fmt | head | iconv | join | less | more | paste | sed | sort | tac | tail | tr | uniq | wc | xargs
Programare Shell: basename | echo | expr | false | printf | test | true | unset Imprimare:
lp
Communicații:
inetd | netstat | ping | rlogin | traceroute
Căutare:
find | grep | strings
Diverse:
banner | bc | cal | dd | man | size | yes