Como aprender comando dd no linux [15 exemplos úteis]
![Como aprender comando dd no linux [15 exemplos úteis]](https://ilinuxgeek.com/storage/img/images/how-to-learn-dd-command-in-linux-[15-useful-examples]_15.png)
- 4309
- 1372
- Mrs. Christopher Okuneva
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.
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.

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

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

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

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

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

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

É 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

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

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.

É 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

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.é

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

É 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

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.
- « 17 melhores navegadores da web que descobri para o Linux em 2023
- Como tirar 'instantâneo de volume lógico e restauração' no LVM - Parte III »