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).


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

modificare
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 disc

modificare
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ție

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

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

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

Copierea unei partiții de disc pe un alt calculator

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

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

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

Duplicarea primelor 2 sectoare de pe discuri floppy

modificare
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ții

modificare
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ții

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

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

modificare
  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 aleatoare

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

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

modificare
dd if=filename of=filename conv=ucase

Căutarea de stringuri în memorie

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

Suprascrierea cu zerouri a unui fișier de 1GB

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


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


Legături externe

modificare


 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