dd (Unix)
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ă
modificareSintaxa 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
modificareCrearea unei imagini de disc ISO dintr-un CD-ROM
modificaredd 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
modificaredd 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
modificaredd if=/dev/sda2 of=/dev/sdb2 bs=4096 conv=noerror
Copierea unei partiții de disc într-un fișier
modificaredd if=/dev/sdb2 of=/home/sam/partition.image bs=4096 conv=noerror
Copierea unei partiții de disc pe un alt calculator
modificaredd if=/dev/sdb2 | ssh user@host "dd of=/home/user/partition.image"
Crearea unui fișier de 1GB care conține numai zerouri
modificaredd if=/dev/zero of=file1G.tmp bs=1G count=1
Duplicarea primelor 2 sectoare de pe discuri floppy
modificaredd 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
modificaredd 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
modificaredd if=/dev/sda of=/home/sam/MBR_boot.image bs=446 count=1
Un test de performanță intrare/ieșire la scrierea pe disc
modificaredd 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
modificaredd if=/dev/urandom of=/home/sam/myrandom bs=100 count=1
Conversia numelui unui fișier din litere mici în litere mari
modificaredd if=filename of=filename conv=ucase
Căutarea de stringuri în memorie
modificaredd if=/dev/mem | hexdump -C | grep ”some string”
Suprascrierea cu zerouri a unui fișier de 1GB
modificaredd if=/dev/zero of=mytestfile.out bs=1 count=0 seek=1G
Note
modificare- ^ Bell Laboratories. „dd man page”. Arhivat din original la . Accesat în .
- ^ Eric S. Raymond. „dd”. Accesat în .
- ^ Sam Chessman. „How and when to use the dd command?”. CodeCoffee. Arhivat din original la . Accesat în .
- ^ „Dd - LQWiki”. LinuxQuestions.org. Accesat în .
Legături externe
modificare- en Pagină de manual
- en dd: Descrierea comenzii în documentația GNU coreutils.
- en dd for Windows.
- en savehd7 - Save a potentially damaged harddisk partition
- en GNU ddrescue.
- en Manual for GNU ddrescue.
- en Softpanorama dd page.
- en DD at Linux Questions Wiki.
linia de comandă pentru Unix (mai multe) | Programe în|||
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 |