Guia completo e detalhado (com exemplos) para DD

Deixo-vos um artigo simplesmente excelente que Eu me encontrei navegando na web, mostra-nos com vários exemplos e em detalhes o que é e o que pode ser feito com o comando DD.

Deixo-vos a tradução completa do artículo:

1. Por que dd?:

Nós escolhemos dd como o primeiro competidor em nossa série porque é uma ferramenta útil que tem muitas opções, como você verá. Isso quase o torna um dos canivetes suíços do mundo Linux. Sim, este termo (canivete suíço) é usado mais do que deveria por escritores de artigos orientados para Linux, portanto, não poderíamos deixar de usá-lo nós mesmos.

2. Uso geral:

Antes de começar, gostaríamos de dar uma ideia geral de como ele é usado dd. Em primeiro lugar, o nome vem de duplicador de dados, mas, com humor, também é dito que significa destruidor de disco ou destruidor de dados porque é uma ferramenta muito poderosa. Portanto, recomendamos cuidado extra ao usar o dd, porque um momento de descuido pode custar seus dados valiosos. A sintaxe geral do comando dd é:

# dd if = $ input_data de = $ output_data [opções]

dados_entrada y dados de saída podem ser discos, partições, arquivos, dispositivos ?? principalmente tudo o que você pode escrever ou ler. Como você verá, você pode usar o dd em um contexto de rede para enviar fluxos de dados pela sua LAN, por exemplo. Você pode ter apenas a parte de entrada de seu comando dd, ou apenas o comando de saída, e você pode até mesmo remover ambos em alguns casos. Tudo isso será tratado na lista a seguir.

3. Exemplos:

dd if = / dev / urandom de = / dev / sda bs = 4k - »Preencha o disco com dados aleatórios

dd if = / dev / sda de = / dev / sdb bs = 4096 - » Espelhamento de disco para disco

dd if = / dev / zero de = / dev / sda bs = 4k - » Limpe um disco rígido (pode ser necessário repetir)

dd if = inputfile de = / dev / st0 bs = 32k conv = sync - » Copiar do arquivo para o dispositivo de fita

dd if = / dev / st0 of = outfile bs = 32k conv = sync - » O primeiro, invertido

dd if = / dev / sda | hexdump -C | grep [^ 00] - » Verifique se o disco está realmente zerado

dd if = / dev / urandom de = / home / $ user / largefile bs = 4096 - » Preencher uma partição (cuidado com as partições do sistema!)

dd if = / dev / urandom of = myfile bs = 6703104 count = 1 - » Codificar um arquivo (talvez antes de excluí-lo)

dd if = / dev / sda3 of = / dev / sdb3 bs = 4096 conv = notrunc, noerror - » Copie uma partição para outra partição

dd if = / proc / filesystems | hexdump -C | Menos - " Ver os sistemas de arquivos disponíveis

dd if = / proc / partições | hexdump -C | Menos - " Ver partições disponíveis em kb

dd if = / dev / sdb2 ibs = 4096 | gzip> partition.image.gz conv = noerror - » Crie uma imagem gzip da segunda partição do segundo disco

dd bs = 10240 cbs = 80 conv = ascii, desbloquear if = / dev / st0 de = ascii.out - » Copia o conteúdo de uma fita para um arquivo, convertendo de EBCDIC para ASCII

dd if = / dev / st0 ibs = 1024 obs = 2048 de = / dev / st1 - » Cópia de um dispositivo de bloco de 1 KB para um dispositivo de bloco de 2 KB

dd if = / dev / zero of = / dev / null bs = 100M contagem = 100
100 + 0 registros em
100 + 0 registros fora
10485760000 bytes (10 GB) copiados,

5.62955 s, 1.9 GB / s

Copie 10 GB de zeros para a lixeira.

dd se = / dev / zero de = / dev / sda bs = 512 contagem = 2
fdisk -s / dev / sda
dd if = / dev / zero de = / dev / sda busca = (numero_de_setores - 20) bs = 1k

Apague o GPT do disco. Como o GPT grava os dados no início
E no final do disco, após apagar do início, temos que encontrar o número de setores (o segundo comando), e depois apagar os últimos 20 setores.

dd if = / home / $ user / bootimage.img de = / dev / sdc - » Crie um disco UDB inicializável (mostrado aqui como / dev / sdc)

dd if = / dev / sda de = / dev / null bs = 1m - » Uma boa maneira de encontrar blocos defeituosos. Backup e sistema relacionado

dd if = / dev / sda de = / dev / fd0 bs = 512 contagem = 1 - » Copie o MBR para um disquete

dd if = / dev / sda1 of = / dev / sdb1 bs = 4096 - » Espelhamento de disco para disco

dd if = / dev / sr0 of = / home / $ user / mycdimage.iso \ bs = 2048 conv = nosync - » Crie uma imagem de um CD

mount -o loop /home/$user/mycdimage.iso / mnt / cdimages / - » Monte a imagem mencionada localmente

dd if = / dev / sda of = / dev / sdb bs = 64k conv = sync - » Útil ao substituir um disco por outro do mesmo tamanho.

dd if = / dev / sda2 of = / home / $ user / hddimage1.img bs = 1M contagem = 4430
dd if = / dev / sda2 of = / home / $ user / hddimage2.img bs = 1M contagem = 8860
[...]

Crie imagens de DVD de uma partição (útil para fazer backups)

dd if = / $ location / hddimage1.img de = / dev / sda2 bs = 1M
dd if = / $ location / hddimage2.img de = / dev / sda2 search = 4430 bs = 1M
dd if = / $ location / hddimage3.img de = / dev / sda2 search = 8860 bs = 1M
[etc...]

Restaurar do backup anterior

dd se = / dev / contagem zero = 1 bs = 1024 busca = 1 de = / dev / sda6 - » Destrua o superbloco

dd se = / dev / contagem zero = 1 bs = 4096 busca = 0 de = / dev / sda5 - » Outra forma de destruir o superbloco

dd if = / home / $ user / suspicious.doc | clamscan - » Verifica o arquivo em busca de vírus (requer ClamAV)

dd if = / home / $ user / arquivo binário | hexdump -C | Menos - " Veja o conteúdo de um arquivo binário (necessita hexdump)

dd if = / home / $ user / bigfile de = / dev / null
dd if = / dev / zero de = / home / $ user / bigfile bs = 1024 contagem = 1000000

Compare a velocidade de leitura / gravação do disco rígido

dd if = / dev / sda de = / dev / sda - » Dê nova vida a discos rígidos antigos que não são usados ​​há algum tempo (os discos devem ser "desmontados")

dd if = / dev / mem | cordas | grep 'string_to_search' - » Examine o conteúdo da memória (isto é, legível por humanos)

dd if = / dev / fd0 of = / home / $ user / floppy.image bs = 2x80x18b conv = notrunc - » Copie um disquete

dd if = / proc / kcore | hexdump -C | Menos - »Mostra a memória virtual

dd if = / proc / filesystems | hexdump -C | Menos - " Ver os sistemas de arquivos disponíveis

dd if = / proc / kallsyms | hexdump -C | Menos - " Mostrar módulos carregados

dd se = / proc / interrupções | hexdump -C | Menos - " Mostra a tabela de interrupções

dd if = / proc / uptime | hexdump -C | Menos - " Mostra o tempo de atividade em segundos

dd if = / proc / partições | hexdump -C | Menos - " Ver partições disponíveis em kb

dd if = / proc / meminfo | hexdump -C | Menos - " Mostra o status da memória

dd if = / dev / urandom of = / home / $ user / myrandom bs = 100 count = 1 - » Crie um arquivo de 1kb de rabiscos aleatórios

dd if = / dev / mem of = / home / $ user / mem.bin bs = 1024 - » Cria uma imagem do estado atual da memória do sistema

dd if = / home / $ user / myfile - » Imprima o arquivo em stdout

dd if = / dev / sda2 bs = 16065 | hexdump -C | grep 'text_to_search' - » Procure uma string em uma partição inteira; mesmo se estiver protegido, você pode inicializar um liveCD

dd if = / home / $ user / file.bin skip = 64k bs = 1 de = / home / $ user / convfile.bin - » Copie file.bin para convfile.bin pulando os primeiros 64 kb

dd if = / home / $ user / bootimage.img de = / dev / sdc - » Crie um disco UDB inicializável (mostrado aqui como / dev / sdc)

dd if = / dev / mem bs = 1k skip = 768 count = 256 2> / dev / null | strings -n 8 - » Leia o BIOS.

dd bs = 1k if = imagefile.nrg of = imagefile.iso skip = 300k - » Converte uma imagem Nero em uma imagem ISO padrão.
Isso é possível porque a única diferença entre os dois são os 300 kB de cabeçalho que o Nero adiciona a uma imagem ISO padrão.

echo -n "olá mundo vertical" | dd cbs = 1 conv = desbloquear 2> / dev / null - » Experimente, é seguro. 🙂

dd if = / dev / sda1 | gzip -c | split -b 2000m - \ /mnt/hdc1/backup.img.gz - » Crie uma imagem gzip de uma partição usando divisão

cat /mnt/hdc1/backup.img.gz.* | gzip -dc | dd de = / dev / sda1 - » Restaurar o backup anterior

dd if = / dev / zero of = myimage bs = 1024 count = 10240 - » Crie uma imagem de disco vazia

dd ibs = 10 skip = 1 - » Divida os primeiros 10 bytes de stdin

dd bs = 265b conv = noerror if = / dev / st0 of = / tmp / bad.tape.image - » Faz uma foto de uma fita com pontos ruins

dd if = / dev / sda count = 1 | hexdump -C - » Veja o seu MBR

dd if = / dev / sda | nc -l 10001 nc $ system_to_backup_IP 10001 | dd de = sysbackupsda.img - » Backup de rede rápido usando netcat

dd if = / dev / zero de = / dev / sdX bs = 1024000 contagem = 1 - » Limpe os primeiros 10 MB da partição

dd if = / dev / zero de = tmpswap bs = 1k
contagem = 1000000
chmod 600 tmpswap
mkswap tmpswap
troca tmpswap

Crie um espaço de troca temporário

dd if = / dev / sda de = / dev / null bs = 1024k contagem = 1024
1073741824 bytes (1.1 GB) copiados,
24.1684 s, 44.4 MB / s

Determina a velocidade de E / S sequencial do seu disco.

dd if = / dev / contagem aleatória = 1 2> / dev / null | od -t u1 | \ awk '{print $ 2}' | cabeça -1 - » Gere um número aleatório

dd if = / dev / mem of = myRAM bs = 1024 - » Copie a memória RAM para um arquivo

dd if = / dev / sda bs = 512 contagem = 1 | od -xa - » Visualize o conteúdo do seu MBR em formato hexadecimal e ASCII

dd if = / my / old / mbr of = / dev / sda bs = 446 count = 1 - » Restaura o MBR sem alterar o registro da tabela de partição que está entre 447 - 511 bytes

dd if = / dev / sda1 | split -b 700m - imagem sda1 - » Crie uma cópia da partição e salve as imagens em que o tamanho máximo do volume seja 700 MB

ls -l | dd conv = ucase - » Converte a saída de um comando em maiúsculas

echo "MEU TEXTO EM MAIÚSCULAS" | dd conv = lcase - » Converta qualquer texto em minúsculas

dd if = / etc / passwd cbs = 132 conv = ebcdic of = / tmp / passwd.ebcdic - » Converte o arquivo de senha do sistema em um arquivo de tamanho fixo de formato EBCDIC

dd if = text.ascii of = text.ebcdic conv = ebcdic - » Converter de ASCII para EBCDIC

dd if = myfile of = myfile conv = ucase - » Converter um arquivo em maiúsculas (SED simples ou substituição tr)

4. Conclusão:

Esta é apenas uma pequena parte do que o dd pode fazer e esperamos que este artigo os tenha manipulado para cobrir os exemplos mais usados ​​para o usuário comum. No entanto, antes de prosseguir, recomendamos que você leia a documentação do disco rígido, procurando coisas como limitações do LBA, e tome cuidado extra ao usar dd em um terminal root. Claro, você já tem backups, mas um pouco de cuidado extra poupará horas de trabalho desnecessário.

E aí termina o artigo.

Só para constar, não tentei nenhum dos comandos mostrados neste artigo, portanto, se alguém usar indevidamente (ou incorretamente) esses comandos, é mais provável que, se eles danificarem algo em seu computador, eu não seja capaz de ajudá-lo.

Nada disso, aos poucos vou testar os comandos hehe, se eu achar algo interessante compartilho.

lembranças


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   ervas daninhas dito

    Ótimo artigo, é assim que um comando é completamente analisado e por isso aprendemos muito sobre o que ele trata. Parabéns e obrigado como sempre! 😉

  2.   Oscar dito

    Artigo muito bom e interessante, como acho importante irei proceder ao seu arquivamento.
    Imagino que você e seu parceiro encontrem as baterias bem carregadas depois de dois dias de férias, hahahahaha.
    Senti falta da falta de artigos no blog.

    1.    KZKG ^ Gaara <"Linux dito

      Obrigado, o crédito não é meu ... acabei de colocar a tradução 🙂
      E haha ​​sim, amanhã teremos mais artigos haha, pedimos desculpas por esses dias sem publicar nada, mesmo olhando as estatísticas vemos o declínio que tivemos hehe.

    2.    elav <° Linux dito

      Férias, você diz? Hahahaha ... Eu gostaria que tivesse sido ..

  3.   oleksis dito

    Bom artigo, como eu sempre lembro se você pode habilitar um plugin para exportá-los para PDF ou anexar o artigo como PDF

    Saudações!

    1.    Coragem dito

      De passagem, lembro que você deve abrir um fórum, porque há uma tendência de fazer muitos off-tag nas postagens (eu me incluo)

      1.    KZKG ^ Gaara <"Linux dito

        Os erros ou problemas que temos vindo a apresentar, problemas de ligação com a base de dados e outros, devem-se ao facto de o site gerar demasiada actividade ou tráfego, por isso ficamos alguns momentos offline. Se além do site adicionarmos um fórum, isso vai gerar mais tráfego e piorar tudo.

        A ideia do fórum sim, nós gostamos, realmente queremos fazer, mas no momento não podemos infelizmente 🙁

        1.    Coragem dito

          WordPress tem um plugin para isso, você não precisa usar sites que você não pode ver

      2.    oleksis dito

        Ok ... uma alternativa sem adicionar outra plataforma ou site é bbPres (bbpress.org) no WordPress

        Saudações!

        1.    KZKG ^ Gaara <"Linux dito

          Sim, nós o conhecemos hehe, estávamos realmente pensando no FluxBB 🙂
          O problema não é outro BD ou usar o mesmo com mais tabelas, mas apenas mais atividade.

      3.    elav <° Linux dito

        Em breve abriremos um fórum 😀

    2.    KZKG ^ Gaara <"Linux dito

      Ainda temos que testar esse plugin o suficiente e, em seguida, colocá-lo se funcionar bem 🙂
      Não tivemos tempo haha

  4.   Coréia dito

    Caro colega, feliz por citar esta pena muito boa que este seja o aplicativo tão travado que eu gostaria que você aprofundasse mais, pois gostaria de saber
    Se você puder fazer um ímã inicializável em DVD ou * .iso, comprimido, agradeço antecipadamente. Espero sua resposta ao meu pós-escrito. Acho que você é o único em toda a rede abala hispânica que o estendeu mais no excelente artigo explicado ,

  5.   69 o melhor 69 dito

    Como posso clonar de uma máquina para outra na rede? no meu caso existem 2 laptops conectados em uma LAN ambos com direção estática

  6.   Erick dito

    Obrigado pela informação 🙂

  7.   gildade4 dito

    Depois de meu contrato alterado
    http://premium.cars.purplesphere.in/?post.zoey
    mães e filhas pornografia grátis 3gp gp gay video clips buzzer porn pinguim vids porn route 96 porn

  8.   Aiasi Bor dito

    O comando para dar vida a registros antigos é de importância MAIÚSCULA. Ainda bem que esta é uma pequena lista do que pode ser feito!