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


Exemple modificare

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


Note modificare

  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