quarta-feira, janeiro 10, 2024
  • Login
Linux Descomplicado
Advertisement
No Result
View All Result
No Result
View All Result
Linux Descomplicado
No Result
View All Result
Home Comandos Linux

Alguns exemplos de que o comando dd pode ser considerado umas das ferramentas mais versáteis do Linux

27 de julho de 2019
Reading Time: 9 mins read
2
Alguns exemplos de que o comando dd pode ser considerado umas das ferramentas mais versáteis do Linux
152
SHARES
55.9k
VIEWS
Compartilhar no FacebookCompartilhar no Twitter

O comando dd é uma ferramenta de linha de comando presente, nativamente, nos sistemas Linux. Seu objetivo principal é converter e copiar arquivos. Por outro lado, existem diversas opções que dão outras possibilidades interessantes para esse comando; bem como: criar imagens de discos rígidos (HDD), arquivos de swap, recuperação de dados, formatação de mídias de armazenamento e outras.

Comando dd

Ferramenta GNU que faz parte do pacote coreutils, o comando dd (“data duplicator”) é usado para copiar e converter dados. Entretanto, pode ser usado para outras situações; por isso é considerado um poderoso utilitário de baixo nível do Linux. Entre as diversas possibilidades, destaco:

RECOMENDO QUE LEIA:
Muito além do kernel – conheça todos os elementos que formam a estrutura do sistema Linux

• Fazer backup e restauração de todo o disco rígido ou partição;
• Fazer backup da MBR (Master Boot Record);
• Copiar e converter formato de fita magnética, entre outros formatos como: ASCII e EBCDIC. Também pode converter letras minúsculas para maiúsculas (e vice-versa), por exemplo;
• Criar arquivos para fazer imagens de inicialização. Pendrive bootável, por exemplo;
• Criar arquivos com tamanho pré fixado;
• Recuperar dados de um disco defeituoso para uma imagem ou outra mídia de armazenamento;
• Fazer alguns testes simples sobre a velocidade do disco ou CPU;

Por ser uma ferramenta muito poderosa, somente o usuário root (ou sudo) pode executar este comando. Além disso, é preciso ter muito cuidado ao usá-lo; pois com um uso inapropriado poderá causar perda de dados importantes. Assim, em outras casos, a ferramenta dd, poderá ser considerada como “destruidora de dados” #ficadica

Estrutura

comando-dd

Onde, ‘if’ significa o arquivo de entrada e o ‘of’ o arquivo de saída.

Um exemplo de uso seria o seguinte comando:

dd if=/dev/sda of=/dev/sdb

Onde, é feita uma cópia do conteúdo da partição /dev/sda para a partição /dev/sdb.

Contudo, o foco desse artigo é mostrar as diversas maneiras para se usar o comando dd!

RECOMENDO QUE LEIA:
20 comandos Linux que você talvez não conheça
Saiba como aprender 20 comandos Linux em apenas alguns minutos

Mas, antes…

A ferramenta fdisk é de suma importância para saber como está montada as partições do disco que possivelmente você irá manipular com o comando dd. Para exibir informações de disco e suas partições, como root (ou sudo), execute:

fdisk -l

Algo similar a isso, você verá:

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 63 417689 208813+ 83 Linux
/dev/sda2 2522205 13799834 5638815 83 Linux
/dev/sda3 13799835 16771859 1486012+ 8e Linux LVM
/dev/sda4 417690 2522204 1052257+ 5 Extended
/dev/sda5 417753 2522204 1052226 82 Linux swap / Solaris

Nesse exemplo, o disco está disponível no dispositivo /dev/sda. E diversas partições, nesse disco, estão montadas; bem como: sda1, sda2 e consecutivamente. Caso tenha mais discos, ou pendrive, na máquina, será exibido outros dispositivos; tais como: /dev/sdb /dev/sdf.

CUIDADO
Os comandos mostrados a seguir são muito poderosos e manipulam dados importantes. Portanto, caso não tenha certeza do que está fazendo, recomendo usar um ambiente virtual (Virtualbox, por exemplo) para testar cada comando. Caso contrário, você poderá perder todos os seus dados. E, sempre realize cópias de segurança !! 😉

1- Backup de todo o disco rígido para uma outra unidade

dd if=/dev/sda of=/dev/sdb bs=4096 conv=noerror,sync

Onde,

– ‘if=/dev/sda‘ representa o disco de origem a ser copiado;
– ‘of=/dev/sdb‘ representa o disco de destino que vai receber a cópia;
– ‘bs=4096’ representa o tamanho do bloco (número de bytes a serem lidos/gravados de cada vez).
– conv=noerror,sync representa o parâmetro de conversão. A opção ‘noerror’ permite que a ferramenta continue copiando os dados mesmo que encontre erros. E a opção ‘sync’ permite usar operações de Entrada/Saída sincronizadas.

O comando acima irá copiar todos os dados do disco /dev/sda para /dev/sdb. Como o comando dd é de baixo nível, disponível como utilitário do kernel Linux, ele “não sabe” nada sobre o sistema de arquivos ou partições; ele “apenas copiará tudo” de /dev/sda para /dev/sdb. Assim, esse processo é conhecido como clonagem de disco, pois preserva os mesmos dados e partições do disco de origem.

2- Criação de uma imagem do disco

dd if=/dev/sda of=/tmp/sda disk.img

Onde,

– ‘if=/dev/sda‘ representa o disco de origem a ser copiado;
– ‘of=/tmp/sda disk.img‘ representa o aquivo de imagem, salvo na pasta /tmp, que receberá a cópia do disco de origem.

Outra opção interessante, é fazer backup de um disco diretamente para um arquivo de imagem. É vantajoso caso não tenha outro disco disponível, de igual tamanho, para receber a cópia dos dados (como no exemplo anterior). Além disso, é mais rápido do que copiar os dados diretamente para o outro disco. Inclusive, tendo a imagem do disco, a restauração dos dados fica muito mais fácil.

RECOMENDO QUE LEIA:
Conheça algumas maneiras para restaurar seu sistema Linux em caso de falhas

Outra forma, é comprimir os dados na imagem:

dd if=/dev/sda | gzip >/tmp/sdadisk.img.gz

Para restaurar esses dados, contidos na imagem, execute:

dd if=/tmp/sdadisk.img of=/dev/sda

Já para dados comprimidos, execute:

gzip –dc /tmp/sdadisk.img.gz | dd of=/dev/sda

3- Fazer backup da MBR (Master Boot Record)

A MBR é o setor de inicialização que guarda o carregador de inicialização do computador, por exemplo o GRUB. Se a MBR corromper, não será possível inicializar o Linux. A partição MBR contém 512 bytes de informação da estrutura organizacional do disco:

– 446 bytes -> Bootstrap;
– 64 bytes -> Partiont Table e;
– 2 bytes -> Signature

Para fazer o backup, execute no terminal o comando (como root):

dd if=/dev/sda of=/tmp/backup-sda.mbr bs=512 count=1

Onde,

– if=/dev/sda representa o disco de origem;
– of=/tmp/backup-sda.mbr representa a pasta de destino e arquivo de destino;
– bs=512 e count=1 representam o tamanho do disco de origem a ser copiado (512 Bytes – tamanho da MBR) e quantidade de blocos a ser copiado.

Finalizando, copie o arquivo /tmp/backup-sda.mbr para um pendrive; por exemplo 😉

Por fim, para restaurar a MBR, execute:

dd if=/tmp/backup-sda.mbr of=/dev/sda

4- Criar pendrive bootável

Uma maneira alternativa para criação de pendrive bootavel, é usar o dd. Basicamente, ele converte e copia um arquivo. Nesse caso, ele fará isso com uma imagem (.iso ou .img) para dentro do pendrive. Basta executar o comando:

IMPORTANTE
Dê preferência por um pendrive vazio ou sem dados importantes, pois esse processo irá apagar todo o conteúdo do dispositivo!
dd if=/home/ricardo/imagem_iso_ou_img of=/dev/sdb bs=4M;sync

Onde,

– if=/home/ricardo/imagem_iso_ou_img representa o caminho completo do arquivo de imagem ISO ou IMG;
– of=/dev/sdb representa o dispositivo de destino, no caso o pendrive;
– bs=4M representa o tamanho de cada bloco a ser copiado (4 Mbytes).

O comando dd converterá a imagem ISO, da sua distribuição Linux, para o formato de disco; salvando seus dados no dispositivo de destino, no caso o pendrive.

5- Criar arquivos com tamanho pré fixado

Por exemplo, para criar um arquivo de tamanho, fixo desejado, de 10MB (por exemplo), execute:

dd if=/dev/zero of=arquivo bs=10485760 count=1

Onde,

– if=/dev/zero representa o dispositivo de valores nulos;
– of=arquivo representa o arquivo de destino a ser gerado;
– bs=10485760 representa o tamanho do bloco a ser criado. No caso ‘10485760’ bytes representam 10 MB (10*1024*1024).
– count=1 representa o número de iterações a serem realizadas. No caso uma iteração com tamanho de bloco ‘10485760’ = 10 MB.

Assim, este comando cria um arquivo “vazio” de 10MB. Isso é útil para criar arquivos de qualquer tamanho, usados para testes de desempenho de leitura/escrita em disco; por exemplo.

6- Apagar dados definitivamente de um disco rígido

Você pode precisar limpar o disco rígido para eliminar erros de partição, instalações mal sucedidas ou por privacidade. Existem duas opções possíveis com o comando dd.

Primeira, preencher os setores do disco com valores zeros (pode demorar um pouco, já que é feito byte a byte de valor 0):

dd if=/dev/zero of=/dev/sda bs=1M

Ou, para garantir que nenhum dado poderá ser recuperado, você deve preencher os setores do disco com dados aleatórios ao invés de zeros (isso vai levar ainda mais do que o primeiro exemplo):

dd if=/dev/urandom of=/dev/sda bs=1M

7- Recuperar dados de um disco defeituoso para uma imagem ou outra mídia de armazenamento

No caso de uma falha grave no hardware do HDD, recomendo você fazer uma cópia de todos os dados possíveis (que ainda estão íntegros) para uma outra unidade de armazenamento (HDD externo ou pendrive). A ferramenta dd pode fazer isso sem complicações – ela efetua cópias de baixo nível, copiando byte a byte a informação, da origem ao destino.

Para suprimir os erros ignoráveis no momento da transferência dos dados, execute:

dd if=/dev/sda of=/dev/sdb bs=4k conv=noerror,sync

Em vez de copiar para outro disco, diretamente, você pode gerar um arquivo de imagem. Basta executar:

dd if=/dev/sda of=/tmp/sda disk.img bs=4k conv=noerror,sync

Por fim, caso esteja com problemas no seu disco, recomendo que veja aqui como tentar solucionar problemas encontrados em um disco rígido usando o Linux.

8- Converter letras minúsculas para maiúsculas ou vice-versa

Com o comando dd você pode converter todo o conteúdo de texto de determinado arquivo de minúsculas para maiúsculas ou vice-versa.

Minúsculas para maiúsculas:

dd if=arquivo1 of=arquivo2 conv=ucase

Maiúsculas para minúsculas para m:

dd if=arquivo1 of=arquivo2 conv=lcase

8- Teste simples de sobrecarga de memória e CPU

dd if=/dev/zero of=/dev/null bs=500M count=1
1+0 registros de entrada
1+0 registros de saída
524288000 bytes (524 MB, 500 MiB) copied, 0,133798 s, 3,9 GB/s

O comando acima irá gerar, virtualmente, blocos com valores zeros (if=/dev/zero) com tamanho de 500 MB (bs=500M) durante uma iteração (repetição) (count=1); sem persistir os dados (of=/dev/null).

Isso é útil para medir apenas a memória e a velocidade do barramento. Além disso, de certo modo, implicitamente, realizará “benchmarks” para saber o quão rápido seu sistema operacional pode alocar grandes pedaços de memória. No entanto, atente-se para o tamanho usado; pois seu computador poderá travar se não tiver 500 MB de RAM disponível.

9- Adicionar uma área de swap sem precisar criar uma nova partição

No Linux é comum usar uma partição de um disco rígido para ‘swap’. No entanto, desde do kernel 2.6, os arquivos de swap são tão rápidos quanto as partições de swap. Assim, você precisa pode usar o comando dd para criar o arquivo de swap. E, posteriormente, usar a ferramenta mkswap para configurar uma nova área de swap no Linux.

AVISO
Sistema de arquivos Btrfs não suporta arquivos de swap.
dd if=/dev/zero of=/swap2 bs=1024 count=524288
524288+0 records in
524288+0 records out
536870912 bytes (537 MB) copied, 3.23347 s, 166 MB/s

O comando anterior irá criar um arquivo de swap com tamanho de 512MB.

Onde,

– if=/dev/zero representa os dados de origem (vazios) para criar o arquivo de swap.
– of=/swap2 representa o arquivo de swap.
– bs=1024 representa o tamanho dos blocos a serem criados.
– count=524288 representa o número de iterações que o bloco de tamanho 1024 será realizado (1024 * 524288 = 512MB).

Os passos seguintes servem para continuar o processo de criação da área de swap:

Aplicar permissões de root

chown root:root /swap2
chmod 0600 /swap2

Tornar arquivo de swap

mkswap /swap2
Setting up swapspace version 1, size = 524284 KiB
no label, UUID=0e5e7c60-bbba-4089-a76c-2bb29c0f0839

Ativar área de swap

swapon /swap2

Por fim, atualizar o fstab para evitar que, quando o computador for reiniciado, as configurações não sejam perdidas:

nano /etc/fstab

Adicionar no final do arquivo:

/swap2 none swap defaults 0 0

Mais informações AQUI

Tags: comando dddiscoferramentas

Gosta de Linux?! Receba materiais exclusivos!

Inscreva-se gratuitamente e receba, com exclusividade, postagens e materiais ocultos para o público em geral. Inclusive, promoções e novidades em primeira mão!

Entrar na lista de e-mails

Related Posts

6 aprendizados que a instalação do Arch Linux oferece para o usuário entender mais sobre o Linux
Dicas

6 aprendizados que a instalação do Arch Linux oferece para o usuário entender mais sobre o Linux

18 de agosto de 2019
Saiba como copiar um disco de uma máquina para outra via SSH
Comandos Linux

Saiba como copiar um disco de uma máquina para outra via SSH

12 de junho de 2019
Algumas ferramentas de terminal que podem ser mais práticas do que os aplicativos gráficos
Destaques

Algumas ferramentas de terminal que podem ser mais práticas do que os aplicativos gráficos

14 de janeiro de 2017
5 ferramentas para monitorar as atividades do disco em tempo real no Linux
Comandos Linux

5 ferramentas para monitorar as atividades do disco em tempo real no Linux

21 de agosto de 2016
TOP 15 ferramentas open source de backup para Linux
Administradores de Rede

TOP 15 ferramentas open source de backup para Linux

9 de janeiro de 2016
Saiba como fazer o backup da partição MBR
Dicas

Saiba como fazer o backup da partição MBR

23 de maio de 2015

Últimas novidades

A Emoção dos Bônus de Sorteio Semanal no BC Games: Como Aumentar Suas Chances de Vitória

by Linux Descomplicado
7 de novembro de 2023
0

O mundo dos jogos online é vasto e repleto de oportunidades para diversão e, às vezes, recompensas financeiras. Entre esses...

Jogos no Metaverso: Explorando a próxima fronteira dos mundos virtuais

Jogos no Metaverso: Explorando a próxima fronteira dos mundos virtuais

by Linux Descomplicado
30 de agosto de 2023
0

Nos últimos anos, o mundo dos jogos vem passando por uma revolução que está redefinindo a forma como entendemos os...

Saiba como acompanhar os jogos da Copa do Mundo no Linux

Saiba como acompanhar os jogos da Copa do Mundo no Linux

by Linux Descomplicado
14 de outubro de 2022
0

Conheça algumas estratégias adotadas por quem deseja acompanhar os jogos da Copa do Mundo 2022 usando o Linux

Como aproveitar o uso de proxy móvel no seu negócio?

Como aproveitar o uso de proxy móvel no seu negócio?

by Linux Descomplicado
31 de agosto de 2022
0

Dados são a nova moeda do mercado, e quanto mais uma empresa conhece as necessidades e desejo dos usuários, mais...

Metaverso: o que precisamos entender sobre esse conceito

Metaverso: o que precisamos entender sobre esse conceito

by Linux Descomplicado
23 de maio de 2022
0

Se um dia alguém dissesse ser possível combinar realidade virtual imersiva, MMORPG e web, isso seria chamado insanidade. No entanto,...

Load More

Publicaçõesmais recentes

5 Razões pelas quais o Linux Mint é a Distribuição perfeita para usuários vindos do Windows
Distribuições

5 Razões pelas quais o Linux Mint é a Distribuição perfeita para usuários vindos do Windows

by Linux Descomplicado
4 de dezembro de 2023
0

Existem muitas versões do Linux que são boas para iniciantes, mas o Linux Mint é especialmente voltado para pessoas que...

Read more
Linux ou Windows: Guia completo para você fazer a escolha certa
Dicas

Linux ou Windows: Guia completo para você fazer a escolha certa

by Linux Descomplicado
3 de dezembro de 2023
0

Escolher entre Linux e Windows é uma decisão crucial que afeta diretamente a experiência do usuário no mundo da tecnologia....

Read more
Noticias

A Emoção dos Bônus de Sorteio Semanal no BC Games: Como Aumentar Suas Chances de Vitória

by Linux Descomplicado
7 de novembro de 2023
0

O mundo dos jogos online é vasto e repleto de oportunidades para diversão e, às vezes, recompensas financeiras. Entre esses...

Read more
Jogos no Metaverso: Explorando a próxima fronteira dos mundos virtuais
Noticias

Jogos no Metaverso: Explorando a próxima fronteira dos mundos virtuais

by Linux Descomplicado
30 de agosto de 2023
0

Nos últimos anos, o mundo dos jogos vem passando por uma revolução que está redefinindo a forma como entendemos os...

Read more
SaaS, IaaS, PaaS e FaaS: tipos de serviços em nuvem, suas vantagens e aplicações
Administradores de Rede

SaaS, IaaS, PaaS e FaaS: tipos de serviços em nuvem, suas vantagens e aplicações

by Linux Descomplicado
2 de agosto de 2023
0

Os serviços em nuvem trazem muitas vantagens para qualquer pessoa ou empresa que utilize arquivos digitais. Mas você sabe a...

Read more
Criação de Apps: do Desenvolvimento à Publicação
Tecnologia

Criação de Apps: do Desenvolvimento à Publicação

by Linux Descomplicado
31 de maio de 2023
0

Até 2022, a Google Play Store somava mais de 3,3 milhões de aplicativos móveis disponíveis para download. Já na Apple...

Read more
Load More

Mantenha-se conectado

  • Área Exclusiva 200 Membros
  • 23k Fãs
  • 8k Seguidores
  • 500 Leitores
  • 100 Seguidores
  • 1k Inscritos
  • 2k Leitores

Quer receber as novidades mais recentes no seu e-mail? Informe-o no campo de e-mail e clique em Assinar! Mais de 2000 já se inscreveram

*Sem spam, eu prometo :).

ATENÇÃO
Os comentários abaixo são de inteira responsabilidade de seus respectivos autores e não representam, necessariamente, a opinião do Linux Descomplicado.

Comments 2

  1. naomesiga,i'm lostoo says:
    7 anos ago

    Muito bom! Obrigado

    Responder
  2. Ewerton Silva says:
    7 anos ago

    Boas dicas. Obrigado.

    Responder

Deixe uma resposta Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Next Post
Introdução ao software livre para animação 2D Synfig Studio

Introdução ao software livre para animação 2D Synfig Studio

O Linux Descomplicado nasceu, em 2011, com o intuito de trazer informações relevantes e promover fácil acesso a todos usuários interessados em aprender a usar o sistema Linux, independentemente se está iniciando ou tem certa experiência com Linux.

Participe

  • Publique seu artigo
  • Login como articulista
  • Pesquisa – sobre os leitores

Editorial

  • Contato
  • Anuncie aqui
  • Política de privacidade

Newsletter

Quer receber as novidades mais recentes no seu e-mail? Informe-o no campo de e-mail e clique em Assinar! Mais de 2000 já se inscreveram

*Sem spam, eu prometo :).

Promoções e materiais exclusivos!

Cadastre-se gratuitamente
  • #9720 (sem título)
  • Anuncie aqui
  • Contato
  • Excluir conta
  • Home
  • Login Customizer
  • Newsletter
  • Newsletter personalizada
  • Pesquisa – sobre os leitores
  • Política de privacidade
  • Promoções e novidades
  • Publicações especias
  • Publicações favoritas
  • Publique seu artigo
  • Saiba como você pode contribuir
  • Sobre
  • Termos de uso

© 2024 JNews - Premium WordPress news & magazine theme by Jegtheme.

No Result
View All Result
  • #9720 (sem título)
  • Anuncie aqui
  • Contato
  • Excluir conta
  • Home
  • Login Customizer
  • Newsletter
  • Newsletter personalizada
  • Pesquisa – sobre os leitores
  • Política de privacidade
  • Promoções e novidades
  • Publicações especias
  • Publicações favoritas
  • Publique seu artigo
  • Saiba como você pode contribuir
  • Sobre
  • Termos de uso

© 2024 JNews - Premium WordPress news & magazine theme by Jegtheme.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In