Skip to content

Comando Linux dd: o que é e como usá-lo

6 de abril de 2021

Neste artigo

O comando dd do Linux não significa oficialmente despejo de disco, mas você pode pensar dessa forma. E apesar do nome modesto, é um programa de terminal Linux muito útil. De backups a gravação de drives USB, saber como usar o dd é definitivamente uma boa adição à sua caixa de ferramentas do Linux.

dd: O comando “Disk Dump”

Em sua essência, o dd foi feito para copiar e converter arquivos de um formato para outro. Não são formatos como Word ou PDF, mas formatos de nível muito baixo que descrevem como os dados são representados no disco. Isso foi na época do mainframe, quando sistemas diferentes tinham seus próprios formatos internos e resolver problemas de intercâmbio era uma tarefa importante. O comando dd pega bits de um arquivo e os move para outro arquivo. O que é importante entender é que o dd simplesmente move os bits daqui para lá, independentemente dos formatos, pastas ou extensões do sistema de arquivos. Isso significa que você pode realizar muitas coisas rapidamente, mas também significa que você precisa ter cuidado ao executá-lo. Com isso em mente, o pessoal inteligente da comunidade Linux transferiu o dd para outro propósito. Já que no Linux “tudo é um arquivo”, o dd oferece uma maneira fácil de gravar uma imagem ISO em uma unidade flash. Ele faz isso pegando o arquivo de imagem e “copiando-o” para o arquivo que representa o pen drive. Existem todos os tipos de cenários em que isso é útil, mas vamos nos concentrar em dois aqui: gravar mídia removível e fazer um backup.

Uso básico do comando dd

O uso básico de dd usa a seguinte sintaxe: dd opção1 = valor1 opção2 = valor2

Há uma série de opções disponíveis para o dd, mas aqui estão as que você deve saber para começar:

  • bs: Tamanho do bloco descreve quantos dados serão lidos e gravados de uma vez. A compensação com essa opção é entre a velocidade de conclusão da operação e a facilidade de recuperação em caso de falha. Tamanhos de bloco maiores são concluídos mais rapidamente, mas são mais difíceis de recuperar.
  • E se: O arquivo de entrada é a fonte dos dados.
  • de: O arquivo de saída é o destino de todos os dados que estão sendo lidos da fonte de entrada.
  • status: Este é um sinalizador opcional, mas útil, que fornecerá algumas informações enquanto seu comando é executado. Vamos dar a isso um valor de progresso para que possamos saber que o comando ainda está funcionando.

Usando dd para gravar mídia removível

Neste primeiro exemplo, tentaremos um dos casos de uso mais comuns para o dd: escrever mídia removível. Você faria isso, por exemplo, para “queimar” uma imagem de instalação do Linux em um pen drive USB. Muitas imagens de instalação vêm como um arquivo .ISO, que deve ser gravado em uma unidade de CD ou DVD-ROM, mas você pode gravar a imagem .ISO em sua unidade USB com um comando como o seguinte: dd bs = 4M if = / caminho / para / imagefilename.img de = / dev / sda status = progresso

Acima, estamos pegando o conteúdo de imagefilename.img e copiando 4 MB por vez para / dev / sda. Este é o arquivo com o / dev subsistema de arquivos que representa nossa unidade USB. Usamos o tamanho de bloco de 4 MB aqui porque a maioria das imagens de instalação são grandes e, se usarmos um menor, demorará muito para terminar. Em qualquer caso, algo está errado, não é grande coisa, apenas reformate o seu pen drive e tente novamente. Certifique-se de ter os valores corretos para a entrada e saída. Conforme mencionado, o dd é projetado para mover bits de um local para outro e não se importa com o que pode sobrescrever no processo. Além disso, certifique-se de que não haja nada de que você precise na unidade de destino. Na melhor das hipóteses, será muito difícil se recuperar e, na pior, pode ter desaparecido para sempre.

Usando dd para fazer backup de um PC Linux

Você também pode fazer o processo acima ao contrário e gravar o conteúdo de uma unidade inteira em um arquivo de imagem. Esta é uma maneira muito conveniente e completa de fazer backup do seu disco rígido.

Nesse caso, podemos basicamente trocar o “no arquivo” por um de nossos drives e o “arquivo de saída” por uma imagem: Drive dd bs = 64k if = / dev / nvme0n1 of = / home / aaron / nvmedrivebackup.img status = progresso

Aqui, estamos selecionando uma das partições no drive NVMe de nosso laptop como entrada e fornecendo um caminho e nome de arquivo para a imagem como saída. Estamos usando um tamanho de byte menor para evitar problemas com a cópia, pois esta será nossa imagem de recuperação no caso de uma catástrofe. Para restaurar o disco, basta inverter os arquivos de entrada e saída.

O comando dd é um utilitário poderoso, então use-o com sabedoria

O comando dd é um utilitário muito poderoso e, com um pensamento inteligente, você provavelmente poderá descobrir ainda mais utilizações para ele. No entanto, também é um comando muito simples, portanto, certifique-se de ter arrancado suas opções de alguém com conhecimento ou de ter verificado três vezes se não está misturando seus arquivos de entrada e saída. Caso contrário, você pode acabar gravando todos os bits vazios de alguma mídia em branco no disco do seu PC.