Uns meses atrás, estudando para a LPI me deparei com o comando dd e resolvi compartilhar como faço o
uso do mesmo.
O comando dd é um clássico dos ambientes Unix-Like, com ele você pode fazer uma cópia exata de um arquivo, ou seja uma cópia
bit a bit. Sintaxe básica:
dd if=origem of=destino
Exemplo:
dd if=/home/felipe/Downloads/netbeans-6.9.1-ml-linux.sh of=/home/felipe/netbeans.sh
543986+0 registros de entrada
543986+0 registros de saída
278520832 bytes (279 MB) copiados, 11,7956 s, 23,6 MB/s
O que foi feito?
Foi feito uma cópia do arquivo "netbeans-6.9.1-ml-linux.sh", localizado em "/home/felipe/Downloads/", onde o arquivo copiado foi
para /home/felipe, com o nome de netbeans.sh.
Cópia do HD para um arquivo:
# dd if=/dev/sda of=~/backup_hd.img
Será feita uma cópia exata do HD dentro do diretório do root com o nome "backup_hd.img". Se quiser restaurar o "backp_hd.img" no
/dev/sda2 (lembre que o sda2 deve ter pelo menos o mesmo tamanho do arquivo "backup.hd" se não os resultados poderão ser
desastrosos):
# dd if=backup_hd.img of=/dev/sda2
Cópia de partição para o partição:
# dd if=/dev/sda9 of=/dev/sda11
Será feita cópia da partição /dev/sda9 para a /dev/sda11.
Fazendo uma cópia do HD para um arquivo compactado:
# dd if=/dev/sda1 | gzip > backup_hd.img.gz
e para descompactar:
# gzip -d -c backup_hd.img.gz | dd of=/dev/sda2
O comando acima está descompactando o arquivo beckup_hd.img.gz no HD em /dev/sda2.
Criar uma imagem ISO:
# dd if=diretorio of=iso_do_diretorio.iso
Para visualizar progresso de cópia de arquivos, vá em outro terminal e execute:
watch df -h
Para converter todos as letras maiúsculas de um documento para letras minúsculas:
dd if=ficheiro1 of=ficheiro2 conv=lcase
Se quisermos converter todas as letras do ficheiro2 para maiúsculas:
dd if=ficheiro2 of=ficheiro3 conv=ucase
Para zerar (formatar) o seu HD (use com cuidado!):
# dd if=/dev/zero of=/dev/hda
Gerar senhas de forma (pseudo) aleatória:
dd if=/dev/random bs=2 count=6 | base64 -
r2KWFW83e9nTniVR
6+0 registros de entrada
6+0 registros de saída
12 bytes (12 B) copiados, 0,000100641 s, 119 kB/s
[1] Comentário enviado por darkchet em 21/10/2011 - 21:57h
Eu usava o dd para dumpar o conteúdo do cartão de memória do meu mobile. É que nas distros antigas, nem montava, e mesmo no Kubuntu 11.04, monta mas a velocidade de cópia é virtualmente zero.
Então eu dumpava o conteúdo do cartão com o comando para o disco, montava a imagem, modificava (copiando, apagando, colando os arquivos) e depois desmontava e copiava tudo de volta para o cartão de memória (que estava dentro do mobile, detalhe), também com o dd.
Ás vezes alguns arquivos do cartão ficavam corrompidos, mas 90% das vezes dava certo.
[3] Comentário enviado por removido em 22/10/2011 - 08:21h
cara... maneira a sua dica aew....
mas soh qria fazer uma correçao aew com vc!!! o dd nao copia bit a bit e sim bloco a bloco, pois o bloco eh a menor unidade que filesystem pode manipular!
mas deixando minha chatice de lado, bela dica man!!!
[4] Comentário enviado por danilosampaio em 27/04/2012 - 16:51h
Muito bom! eu tava precisando fazer um backup completo do meu ubuntu antes de atualizar pra versão 12.04.
Só estou com uma dúvida: eu fiz o backup da minha partição onde o ubuntu está instalado:
Caso ocorra algum problema na minha atualização e eu queira restaurar o meu backup, será que a partição de swap continuaria funcionando? ou eu teria que criá-la novamente?
[8] Comentário enviado por felipesant0stux em 14/07/2015 - 09:59h
Nesse caso o dd não irá funcionar, faz da seguinte maneira:
$pacpl --to mp3 -v -r -bitrate 320 /home/anderson/Downloads/AtOLOpYaOzOcoGlTNonWj1qtqwbVNzA-y3vUcuMncaAx.mp4
Se não tiver o pacote pacpl instalado:
#aptitude install pacpl -> Para derivados Debian
A mensagem mostrada:
dd: falhou em abrir “/media/caser/BACK-UP/Crystal_quad_core/*.*”: Arquivo ou diretório não encontrado
Eu quero copiar todos os 5 arquivos da pasta "Crystal_quad_core" e armazenar em um arquivo .IMG,
já tentei sem o coringa * (asterisco) e informa a mesma mensagem de erro.