Como aprender comando dd no linux [15 exemplos úteis]

Como aprender comando dd no linux [15 exemplos úteis]

Resumo: Neste guia avançado, discutiremos alguns exemplos práticos do comando dd. Depois de seguir este guia, os usuários avançados poderão trabalhar com os dispositivos de bloco confortavelmente a partir da interface da linha de comando.

No Linux, tudo é um arquivo e os dispositivos de bloco não são uma exceção. Muitas vezes, precisamos trabalhar com dispositivos de bloco. Como usuários do Linux, executamos uma variedade de operações em dispositivos de bloco, como - recebendo um backup de um disco ou partição, backup de registro de botas mestre (MBR), fazendo uma unidade USB inicializável e a lista continua.

Certamente, podemos usar ferramentas gráficas para executar todas essas operações. No entanto, a maioria dos administradores do Linux prefere usar o comando dd Devido à sua rica funcionalidade e robustez.

Neste guia avançado, aprenderemos sobre o comando dd Para converter e copiar arquivos. No entanto, ao contrário do comando CP na maioria das vezes, é usado com dispositivos de bloco.

Neste guia, primeiro, entenderemos o uso do comando dd Com exemplos básicos, discutiremos alguns casos de uso avançado.

Índice

1
  • Sintaxe do comando dd
  • 1. Como copiar um arquivo no Linux
  • 2. Como converter texto de minúsculas para maiúsculas
  • 3. Como converter texto de maiúsculas em minúsculas
  • 4. Evite substituir o arquivo de destino no Linux
  • 5. Anexar dados em um arquivo usando o comando dd
  • 6. Pular bytes ou caracteres enquanto lê o arquivo de entrada
  • 7. Backup Linux Disk Partion usando o comando dd
  • 8. Restaurar a partição do disco Linux usando o comando dd
  • 9. Backup de disco rígido Linux inteiro usando o comando dd
  • 10. Restaure o disco rígido Linux usando o comando dd
  • 11. Registro de bota mestre de backup usando o comando dd
  • 12. Restaurar o registro de inicialização mestre usando o comando dd
  • 13. Copie o conteúdo da unidade de CD/DVD usando o comando dd
  • 14. Crie uma unidade USB inicializável usando o comando dd
  • 15. Como mostrar a barra de progresso
      • Conclusão

Então vamos começar.

Sintaxe do comando dd

A sintaxe mais comum do comando dd é o seguinte:

$ dd [if =] [of =] 

Na sintaxe acima:

  • se - representa o arquivo de entrada ou fonte.
  • de - representa o arquivo de saída ou destino.
Precaução - É importante observar que o comando dd deve ser usado com muita cautela enquanto trabalha com os dispositivos de bloco. Um pequeno erro pode causar perda permanente de dados. Portanto, é fortemente elogiado por experimentar essas operações na máquina de teste primeiro.

1. Como copiar um arquivo no Linux

Um dos usos básicos do comando dd é copiar um arquivo em um diretório atual. Vamos entender criando um arquivo de texto simples:

$ echo "Este é um arquivo de texto de amostra"> arquivo-1.TXT 

Agora, vamos criar uma cópia dele usando o comando dd:

$ dd if = file-1.txt de = arquivo-2.TXT 

Neste exemplo, o se O parâmetro representa o arquivo de origem, enquanto o de O parâmetro representa o arquivo de destino.

Copiar arquivo com comando dd

Não é exatamente semelhante ao comando cp? Então o que há de tão especial no comando dd?

O comando dd é muito mais poderoso que o regular comando cp. As últimas seções do tutorial discutem alguns de seus casos de uso avançado.

2. Como converter texto de minúsculas para maiúsculas

O comando dd nos permite realizar a conversão de casos. Para conseguir isso, podemos usar o Conv parâmetro com ele.

Para entender isso, primeiro, exibir o conteúdo do arquivo-1.TXT arquivo:

$ CAT FILE-1.TXT Este é um arquivo de texto de amostra 

Agora, vamos converter o conteúdo do arquivo para a caixa superior usando o seguinte comando:

$ dd if = file-1.txt de = caso superior.txt conv = ucase 

Neste exemplo, o conv = ucase A opção é usada para converter as letras minúsculas em letras maiúsculas.

Por fim, verifique o conteúdo do arquivo recém -criado:

$ CAT Case superior.TXT Este é um arquivo de texto de amostra 
Converta o texto de minúsculas para maiúsculas no Linux

3. Como converter texto de maiúsculas em minúsculas

De maneira semelhante, podemos usar o comando dd Para converter as letras maiúsculas em letras minúsculas:

Vamos usar o Conv = lcase Opção para converter as letras maiúsculas em minúsculas:

$ dd se = casos superiores.txt de = baixo caso.txt conv = lcase 

Agora, vamos exibir o conteúdo do arquivo recém -criado e verificar se a conversão foi feita corretamente:

$ CAT CASO MAIS.TXT Este é um arquivo de texto de amostra 
Converter texto em minúsculas no Linux

4. Evite substituir o arquivo de destino no Linux

Por padrão, o comando dd Substitui o arquivo de destino, o que significa que ele substituirá o arquivo se houver no destino com o mesmo nome.

No entanto, podemos desativar esse comportamento padrão usando o Conv = excl opção como mostrado.

$ dd if = file-1.txt de = arquivo-2.txt conv = excl DD: Falha ao abrir 'Arquivo-2.O arquivo txt 'existe 

Aqui, podemos ver que o comando dd abortou as operações porque o arquivo com o mesmo nome está presente no destino.

5. Anexar dados em um arquivo usando o comando dd

Às vezes, queremos atualizar o arquivo em um modo Apênder, o que significa que o novo conteúdo deve ser adicionado ao final do arquivo de destino.

Podemos conseguir isso combinando as duas bandeiras - OFLAG = Anexar e Conv = NOTRUNC. Aqui o OFLAG representa o sinalizador de saída enquanto o NOTRUNC a opção é usada para desativar o truncamento no destino.

Para entender isso, primeiro, vamos criar um novo arquivo de texto:

$ echo "Appender Exemplo de demonstração"> Dest.TXT 

Em seguida, vamos anexar o conteúdo ao dest.TXT Arquivo usando o seguinte comando:

$ dd if = file-1.txt de = destin.txt ofLag = Append Conv = Notrunc 

Agora, vamos verificar o conteúdo do dest.TXT arquivo:

$ CAT DEST.TXT Appender Exemplo Demo Esta é um arquivo de texto de amostra 
Anexar dados ao arquivo usando o comando dd

6. Pular bytes ou caracteres enquanto lê o arquivo de entrada

Podemos instruir o comando dd para pular os primeiros caracteres enquanto lê o arquivo de entrada usando o SII e pular opções.

Primeiro, vamos exibir o conteúdo do arquivo-1.TXT arquivo:

$ CAT FILE-1.txt Este é um arquivo de texto de amostra 

Em seguida, vamos pular os 8 primeiros caracteres usando o seguinte comando:

$ dd if = file-1.txt de = arquivo-2.txt ibs = 8 pular = 1 

Agora, vamos verificar o conteúdo do arquivo-2.TXT arquivo:

$ CAT FILE-2.txt um arquivo de texto de amostra 
Pule os caracteres do arquivo usando DD

Na saída acima, podemos ver que o comando pulou os 8 primeiros caracteres.

7. Backup Linux Disk Partion usando o comando dd

Até agora discutimos os exemplos básicos do comando dd Isso não requer acesso à raiz. Agora, vamos ver alguns casos de uso avançado.

Assim como arquivos, podemos fazer o backup da partição de disco usando o comando dd. Por exemplo, o comando abaixo recebe um backup do /dev/sda1 partição para Partition-BKP.img:

$ sudo dd if =/dev/sda1 de = partition-bkp.img 
Partição de backup no Linux usando o comando dd

8. Restaurar a partição do disco Linux usando o comando dd

No exemplo anterior, apoiamos o /dev/sda1 partição para o Partition-BKP.img arquivo.

Agora, vamos restaurá -lo para o /dev/sdb1 Partição usando o seguinte comando:

$ sudo dd if = partition-bkp.img de =/dev/sdb1 
Restaurar a partição Linux usando o comando dd

É importante observar que o tamanho da partição de destino deve ser igual ou maior que o tamanho do backup.

9. Backup de disco rígido Linux inteiro usando o comando dd

A unidade de disco pode ter várias partições. Portanto, receber e restaurar o backup por partição pode se tornar demorado à medida que o número de partições aumenta. Para superar essa limitação, podemos fazer backup de toda a unidade de disco, assim como as partições.

Então, vamos fazer o backup do /Dev/SDA disco usando o seguinte comando:

$ sudo dd if =/dev/sda de = disk-bkp.img 
Backup de disco rígido Linux inteiro usando o comando dd

O comando acima leva de volta o disco inteiro, incluindo suas partições.

10. Restaure o disco rígido Linux usando o comando dd

Assim como partições, podemos restaurar o backup de todo o disco. No exemplo anterior, fizemos backup de todo o disco para o disk-bkp.img arquivo. Agora, vamos usar o mesmo para restaurá -lo no /dev/sdb disco.

Primeiro, vamos excluir todas as partições do /dev/sdb disco e verifique se todas as partições foram excluídas:

$ lsblk /dev /sdb 

Em seguida, vamos restaurar o backup no /dev/sdb Dirija usando o seguinte comando:

$ sudo dd if = disk-bkp.img de =/dev/sdb 

Finalmente, verifique se a partição foi criada no /dev/sdb disco:

$ lsblk /dev /sdb 
Restaurar o disco rígido Linux usando o comando dd

11. Registro de bota mestre de backup usando o comando dd

O Mestre Boot Record (MBR) está localizado no primeiro setor do disco de inicialização. Ele armazena informações sobre as partições de disco. Podemos usar o comando dd Como mostrado abaixo, para recuar:

$ sudo dd if =/dev/sda de = mbr.img bs = 512 contagem = 1 

O comando acima leva de volta os primeiros 512 bytes i.e. um setor.

Backup mbr usando o comando dd

É importante observar que o comando acima deve ser executado no disco de inicialização.

12. Restaurar o registro de inicialização mestre usando o comando dd

No exemplo anterior, fizemos backup do Record Master Boot (MBR). Agora, vamos restaurá -lo no /dev/sdb disco usando o seguinte comando:

$ sudo dd if = mbr.img de =/dev/sdb 
Restaurar MBR usando o comando dd

13. Copie o conteúdo da unidade de CD/DVD usando o comando dd

Semelhante às partições e discos, podemos usar o comando dd para copiar o conteúdo do CD ou DVD Drive. Então, vamos usar o comando abaixo para fazer o mesmo:

$ sudo dd if =/dev/cdrom de = alma-minimal.ISO 

No Linux, a unidade de CD/DVD é representada pelo /dev/cdrom dispositivo. Portanto, estamos usando -o como um arquivo de origem.

Agora, vamos verificar se o conteúdo foi copiado com sucesso, verificando seu comando de soma de verificação:

$ SHA256SUM ALMA-MINIMAL.é 
Copie o conteúdo do CD/DVD usando o comando dd

14. Crie uma unidade USB inicializável usando o comando dd

No exemplo anterior, criamos uma imagem ISO do Alma Linux. Agora vamos usá -lo para criar uma unidade USB inicializável:

$ sudo dd if = alma-minimal.ISO de =/dev/sdb 
Crie USB inicializável usando o comando dd

É importante observar que o comando acima deve ser executado com a unidade USB correta.

15. Como mostrar a barra de progresso

Por padrão, o comando dd não mostra o progresso ao fazer a operação de cópia. No entanto, podemos substituir esse comportamento padrão usando a opção de status.

Então, vamos usar o status = progresso opção com o comando dd Para mostrar a barra de progresso:

$ sudo dd if = alma-minimal.ISO de =/dev/sdb status = progresso 
Mostrar progresso do comando dd
Conclusão

Neste artigo, discutimos alguns exemplos práticos do comando dd. Usuários avançados podem se referir a esses exemplos na vida cotidiana enquanto trabalha com sistemas Linux. No entanto, temos que ter muito cuidado ao executar esses comandos. Porque um pequeno erro pode substituir o conteúdo de todo o disco.

Você conhece qualquer outro melhor exemplo do comando dd no Linux? Deixe -nos saber suas opiniões nos comentários abaixo.