o comando dd representa “duplicador de dados” e é usado para copiar e converter dados. É um utilitário de baixo nível muito poderoso do Linux que pode fazer muito mais como;
• Backup e restaurar todo o disco rígido ou partição.
• Backup do MBR (Master Boot Record)
• Ele pode copiar e converter formato de fita magnética, converter entre formatos ASCII e EBCDIC, trocar bytes e também pode converter minúsculas para maiúsculas.r• * Ele também pode ser usado pelo kernel Linux make files to make boot images.,
apenas o superusor pode executar este comando porque você pode enfrentar uma grande perda de dados devido ao seu uso inadequado, então você deve ser muito cuidadoso ao trabalhar com este utilitário. Nesse momento a perda de dados pode converter o utilitário dd como um” destruidor de dados ” para você. É por isso que é recomendado que os iniciantes não devem usar este comando em uma máquina de produção até que eles tenham familiaridade com isso. Deve certificar-se de que a localização do alvo deve ter espaço suficiente durante a execução deste comando.
sintaxe do comando dd
Antes de começarmos com algum trabalho prático precisamos de falar sobre a sua sintaxe.,
dd if=<source file name> of=<target file name>
normalmente não explicamos sobre sintaxe, mas esta sintaxe de comando requer alguma explicação. A sintaxe é totalmente diferente quando comparada com muitos comandos Linux que conhecemos. Nesta sintaxe dd é seguido por duas coisas
if = <source> –esta é uma fonte de onde você quer copiar dados e ‘if’ significa Entrada-arquivo.
of= <destination> –this is a source from where you want to write / paste data and ‘of’ stands for output-file.,
–estas opções incluem, a rapidez com que os dados devem ser escritos, o formato, etc.
entrada(nome do ficheiro de origem) e Saída (nome do ficheiro de destino) na sintaxe são discos, partições, ficheiros e dispositivos dos quais deseja escrever e ler os dados. Há muitas opções que discutiremos em exemplos.
Aprenda o comando Linux dd com exemplos
exemplo 1: Clone um disco rígido para outro disco rígido. Isto é útil quando estamos construindo muitas máquinas com a mesma configuração. Não precisamos de instalar SO em todas as máquinas., Basta instalar o SO e o software necessário na máquina, em seguida, clonar com o exemplo abaixo.
dd if=/dev/sda of=/dev/sdb
Exemplo 2: podemos fazer backup de uma partição / HDD completo para restauração futura.
Backing up a partition to a file (to my home directory as hdadisk.img)
dd if =/dev/sda2 of=~/hdadisk.img
Restaurar este arquivo de imagem para outro computador
dd if=hdadisk.img of=/dev/sdb3
Exemplo 3: você se sente hdadisk.o img é um pouco grande? Use o gzip ou o bzip2 para comprimir ao criar a imagem.
dd if =/dev/sda2 | bzip2 hdadisk.img.bz2
exemplo 4: Você sabe que o comando dd também pode ser usado como copiadora de arquivos?, Sim, se você não tem o comando cp use o comando dd para copiar um arquivo de um local para outro.
dd if=/home/imran/abc.txt of=/mnt/abc.txt
Ok, isso é bom para o uso básico do comando dd. Mas a beleza do comando dd reside em usos avançados como limpeza de discos, limpeza completa de discos, backups MBR etc.
utilização avançada do comando Linux dd
a partir daqui deverá ter cuidado ao usar este comando e deverá primeiro experimentar estes comandos numa máquina de testes antes de obter familiaridade.
exemplo 5: limpar / apagar o conteúdo de um disco para que ele esteja vazio para que alguém o use.,
dd if=/dev/zero of=/dev/sdb
Isto irá apagar o seu segundo disco rígido e cada bit é escrito com zero. você pode estar interessado em aprender /dev/null E /dev/zero arquivos que fazem coisas semelhantes, mas há um pouco de diferença.
como é que a escrita de um ficheiro no disco rígido com dados acontece?
Normalmente, o que quer que você escreva em um disco no nível de bloco, ele irá escrever combinação de zeros e uns. Espero que você saiba isso e o que estamos fazendo aqui é que estamos apenas escrevendo zeros que vai limpar todos os 1’s do disco rígido. Isto eventualmente torna o seu disco vazio.,exemplo 6: o que esconder o rabo apagando os seus dados pessoais. Muitas pessoas pensam que se fizermos rm-rf / <seus dados> fará o necessário. Mas podemos recuperar esses apagamentos usando ferramentas de recuperação de disco como Photorec ou algumas ferramentas forenses. Mas se você quiser alguns não recuperar seus dados você tem que escrever dados aleatórios em sua partição onde os dados residem.
dd if=/dev/random of=/dev/sdb
Do above command multiple times so that it is real hard to recover data. Se eu estiver no seu lugar, vou escrever abaixo shell script para fazer isso.,
for i in {1..10};do dd if=/dev/random of=/dev/sdb;done
Isto irá executar o comando dd 10 vezes numa linha, uma após a outra.
exemplo 7: podemos criar um sistema de ficheiros virtual com o comando dd que pode ser usado como swap. Para saber mais sobre você deve saber como criar espaço virtual de troca em Linux.
dd if= / dev / zero of= / swapfile bs=1024 count=200000
em que bs representa o tamanho do bloco e a contagem não é mais do que o número de blocos usados para empacotar este ficheiro swap.certifique-se que usa tamanhos de bloco em múltiplos de 1024 bytes, o que é igual a 1KB., Se não indicar o tamanho do bloco, o dd usa um tamanho de bloco predefinido de 512 bytes. Abaixo convenções trabalharão para tamanhos de bloco.
N e BYTES pode ser seguido o seguinte multiplicativo sufixos: c =1, w =2, b =512,
kB =1000, K =1024,
Mb =1000*1000, MB=1024*1024,
Gb =1000*1000*1000, GB =1024*1024*1024,
and so on for T, P, E, Z, Y.
Exemplo 8: Podemos até mesmo criar arquivos ISO a partir de um CD-ROM ou de DVD-ROM usando o comando dd.,
dd if=/dev/dvd of=/opt/my_linux_image.iso
ou com mais
dd if=/dev/sr0 of=/home/$user/mycd_image.iso bs=2048 conv=sync
Alguns outros exemplos:
dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=noerror,sync
Isso vai fazer clone de uma partição sda1 para outros sdb1 partição, também utilizado opção de sincronização para sincronizar a partição
dd if=/dev/sdx of=/dev/sdy bs=64k conv=noerror,sync
Isto irá clonar o disco inteiro, incluindo MBR, todas as partições de dados e onde noerrr instrui dd ignore todos os erros de leitura, enquanto a continuidade das operações. Os dados do snyc permanecem em sincronia e bs=define o tamanho do bloco que é definido para 64k.,exemplo 9: podemos até mesmo verificar a quota de disco usando o comando dd criando arquivos enormes que devoram HDD em nenhum momento.
dd if=/dev/zero of=/usr/disk-img/disk-quota.ext3 count=40960
Isto irá criar um ficheiro de 20MB (imagem de disco) no referido caminho.
exemplo 10: podemos até criar USB iniciável usando o comando dd.
dd if = / home/$user / bootimage.img de= / dev / sdc
Isto irá criar uma unidade USB capaz de arranque onde o/dev / sdc é uma unidade USB.
Example 11: Data recovery using ddrescue command.
ddrescue tool is used for cloning and recovering data. isto não é instalado por padrão em muitas máquinas Linux., Abaixo estão os comandos para instalar para as respectivas distribuições.
Instalação do ddrescue no Debian máquinas com base
apt-get install gddrescue
Instalação do ddrescue no Redhat máquinas com base
yum install gddrescue
Ele pode copiar dados de um arquivo/dispositivo de bloco(disco rígido ou CD-ROM) para outra enquanto tenta resgatar os dados que eu.e erro de leitura para maximizar os dados recuperados. Para recuperar dados o comando ddrescue precisa ser executado em dois passos seguidos por executar o comando fsck.
Passo 1: copia cada bloco sem erros de leitura e registrando esses erros no arquivo de log.,
Passo 2: ele vai copiar apenas Bloco ruim e tentar ler 3 vezes para o código fonte antes de desistir. Do que você pode executar comando para verificar o sistema de arquivos para a corrupção.
Passo 3: Executar o comando fsck.
ddrescue –f –n /dev/sdX /dev/sdY rescue.log ddrescue –d –f –r3 /dev/sdX /dev/sdY rescue.log fsck –f /dev/sdY
exemplo 12: computer forensics using dcfldd
dcfldd is the enhanced version of dd having used for computer forensics and security as well. Leva os parâmetros do dd. Você pode usar o comando dcfldd quando você precisa saber que uma cópia e cópias subsequentes são idênticas ao original., dcfldd tem algumas características adicionais como;
- Hashing on-the-fly
- Status output
- Image/wipe verify
- hashing
Split output
novamente temos de instalar este comando também, se este não estiver presente.
de Instalar o dcfldd no Debian máquinas com base
apt-get install dcfldd
de Instalar o dcfldd no Redhat máquinas com base
yum install dcfldd
Exemplo
O comando acima irá ler um Gb da unidade de origem e escrever para um ficheiro chamado de imagem.dd.a., ele também irá calcular o hash MD5 e o sha512 tem de cada Gigbyte lido.
- Bio
- Posts mais Recentes
Latest posts by Imran Ashraf (see all)
- 12 Linux dd command examples – March 8, 2016