==== Comando dd ==== O comando //dd// é muito interessante e muito útil em algumas situações. Com ele podemos criar arquivos vazios para usar, como //pseudo-filesystem//, arquivos como determinados tamanhos, fazer backup da //MBR// e até mesmo criar imagens //iso//. O comando //dd// tem a seguinte sintaxe: # dd [opções] of=origem if=destino bs=tamanho_do_bloco count=numero_de_interações Criando um arquivo de 1 e 10 MB respectivamente: # dd if=/dev/zero of=/tmp/um bs=1024 count=1000 1000+0 registros de entrada 1000+0 registros de saída 1024000 bytes (1,0 MB) copiados, 0,0022918 s, 447 MB/s # dd if=/dev/zero of=/tmp/dez bs=10 count=1M 1048576+0 registros de entrada 1048576+0 registros de saída 10485760 bytes (10 MB) copiados, 0,905146 s, 11,6 MB/s # du -h /tmp/{um,dez} 1000K /tmp/um 10M /tmp/dez ==== Clonando HD ==== Criar a imagem do HD de origem e armazená-lo no HD externo: # dd if=/dev/sda conv=sync,noerror bs=64K > /mnt/sda.img Para recuperar a imagem: # dd if=/mnt/sda.img of=/dev/sda conv=sync,noerror bs=64k ==== Criando arquivos ==== Arquivo de 1MB: $ dd if=/dev/zero of=test.img bs=1024 count=0 seek=1024 De 10MB: $ dd if=/dev/zero of=test.img bs=1024 count=0 seek=$[1024*10] ou # dd if=/dev/zero of=file1 bs=10485760 count=1 * Cáuculo: 10MB=10*1024*1024 = 10485760 De 100MB: $ dd if=/dev/zero of=test.img bs=1024 count=0 seek=$[1024*100] De 1GB: $ dd if=/dev/zero of=1g.img bs=1 count=0 seek=1G ==== Criando chaves criptografadas ==== * Chave de 40 bits count=5 $ dd if=/dev/random bs=1 count=5 2> /dev/null | xxd -ps * Chave de 64 bits count=8 $ dd if=/dev/random bs=1 count=8 2> /dev/null | xxd -ps * Chave de 104 bits count=13 $ dd if=/dev/random bs=1 count=13 2> /dev/null | xxd -ps * Chave de 128 bits count=16 $ dd if=/dev/random bs=1 count=16 2> /dev/null | xxd -ps * Chave de 152 bits count=19 $ dd if=/dev/random bs=1 count=19 2> /dev/null | xxd -ps * Chave de 232 bits count=29 $ dd if=/dev/random bs=1 count=29 2> /dev/null | xxd -ps * Chave de 256 bits count=32 $ dd if=/dev/random bs=1 count=32 2> /dev/null | xxd -ps ==== Outros exemplo ==== Backup da MBR (Primeiros 512 bytes do disco) # dd if=/dev/sda of=mbr bs=512 count=1 Criando imagem .iso do CD-ROM # dd if=/dev/sr0 of=GustVbox.iso Usando o diretório /dev/random, /dev/null e /dev/zero # dd if=/dev/random of=random bs=4096 count=1 # dd if=/dev/null of=null bs=4096 count=1 # dd if=/dev/zero of=zero bs=4096 count=1 # du -h {random,null,zero} 4,0K random 0 null 4,0K zero Referências: - [[http://www.computerhope.com/unix/dd.htm]] - [[http://explainshell.com/explain/1/dd]]