O comando dd é uma utilidade versátil e poderosa para converter e copiar dados. Ele opera lendo de um arquivo de entrada ou fluxo de dados e escrevendo em um arquivo de saída ou fluxo de dados, tornando-o uma ferramenta dd essencial para muitas tarefas de administração de sistema.
Entendendo o Comando dd
Em sua essência, dd copia dados byte por byte. Considere o seguinte comando:
dd if=/home/pete/backup.img of=/dev/sdb bs=1024
Este comando copia o conteúdo do arquivo backup.img para o dispositivo de bloco /dev/sdb. Ele realiza essa operação copiando os dados em blocos de 1024 bytes até que todo o arquivo de entrada tenha sido lido.
Opções Essenciais do dd
O comportamento do comando dd é controlado por várias opções chave:
if=file: Especifica o arquivo de entrada.ddlerá deste arquivo em vez da entrada padrão.of=file: Especifica o arquivo de saída.ddescreverá neste arquivo em vez da saída padrão.bs=bytes: Define o tamanho do bloco.ddlê e escreve essa quantidade de bytes por vez. Você pode usar sufixos para unidades maiores, comokpara kilobytes (1024 bytes),Mpara megabytes eGpara gigabytes. Por exemplo,bs=1M.count=number: Copia apenas este número de blocos especificado.
Usando bs e count Juntos
A opção count é útil quando você precisa copiar uma quantidade específica de dados. Os dados totais copiados serão bs multiplicado por count. Por exemplo, se você executar o seguinte comando em um arquivo de 10M:
dd if=/home/pete/backup.img of=/dev/sdb bs=1M count=2
Embora backup.img tenha 10M, este comando instrui dd a copiar 2 blocos, cada um com 1M de tamanho. Como resultado, apenas 2M de dados serão copiados, levando a uma transferência incompleta. Embora count seja valioso em certos cenários, você pode frequentemente omiti-lo se seu objetivo for copiar um arquivo inteiro. Otimizar bs pode melhorar significativamente as velocidades de transferência, mas as configurações padrão geralmente são suficientes.
O Poder e o Perigo do dd
O comando dd linux é extremamente poderoso. Você pode usá-lo para criar backups de discos inteiros, restaurar imagens de disco e limpar dados com segurança. No entanto, esse poder traz um risco. Um pequeno erro, como inverter os valores de if e of, pode resultar em perda de dados irreversível. Sempre verifique duas vezes seus comandos antes de executá-los, especialmente ao escrever em um dispositivo como /dev/sda.