Por padrão, o dd lerá os dados em um bloco por vez, possivelmente lendo em um bloco menor que o especificado pelo usuário, no final do arquivo ou devido ao comportamento do dispositivo de origem; isso é chamado de registro parcial . Em seguida, ele irá escrever um bloco que é o mesmo tamanho que a quantidade que lê.
Dd repetirá isso até que a contagem especificada seja atingida ou veja eof na entrada ou erro na entrada ou saída. Quando terminar, dd informa o número de registros completos e parciais que leu e escreveu.
Esse comportamento é bom para copiar um arquivo comum dentro de um sistema de arquivos ou através de uma conexão de rede TCP, já que isso é considerado um fluxo de bytes. Mas outros objetos do sistema de arquivos, como DVDs brutos e fita magnética, exigem tamanhos de gravação que estão dentro de determinados intervalos e são um múltiplo arredondado de alguma quantia (como 512 ou 2048 bytes). Por exemplo, se você tem uma imagem de disco com 255 faixas de 63 setores de 512 bytes e deseja gravar em uma fita que requer um tamanho de bloco de 1024 bytes, é necessário fazer algo como
dd if=disk.img of=/dev/rmt0 bs=1k conv=sync
para garantir que o dd não tente escrever um bloco de 512 bytes no final. O bloco mais curto no final será preenchido com zeros ou espaços em branco. Preenchimento com zeros é uma escolha segura e comum. A opção para o dd pad com espaços em branco é útil em uma situação diferente - convertendo um arquivo que tem linhas de comprimento variável para um com linhas de comprimento fixo.