Linux dd Command · 6 min read · Sep 19, 2025
Linux dd Command Explained for Beginners (8 Examples)

O comando dd é uma ferramenta poderosa usada para cópia e conversão de dados em baixo nível em sistemas Linux. Ele significa “duplicador de dados” e é frequentemente empregado para criar cópias exatas de arquivos, partições ou discos inteiros, tornando-o útil para tarefas como criar backups, clonar drives ou gravar imagens de disco em mídias físicas. O comando pode copiar e converter dados entre arquivos ou dispositivos, com opções para controlar o tamanho do bloco, pular ou buscar dados e até aplicar filtros como compressão ou troca de bytes. Devido à sua capacidade de trabalhar em um nível tão fundamental, o dd deve ser usado com cautela, pois o uso incorreto pode resultar em perda ou corrupção de dados.
Neste tutorial, discutiremos como a ferramenta funciona usando alguns exemplos fáceis de entender. Mas antes de fazermos isso, vale a pena mencionar que todos os exemplos mencionados aqui foram testados no Ubuntu 24.04.
Comando dd do Linux
Em resumo, o comando dd permite que você copie e converta um arquivo. A ferramenta oferece alguns operandos que você pode usar para especificar que tipo de formatação deseja. Aqui está a sintaxe genérica do comando conforme descrito em sua página de manual:
dd [OPERAND]...
dd OPTIONCriar um pen drive USB inicializável a partir de um arquivo ISO usando o comando dd
Um uso comum do comando dd no Linux é criar um pen drive USB inicializável a partir de um arquivo ISO. Isso é frequentemente feito ao preparar um pen drive para instalar um sistema operacional. O comando seria algo assim:
sudo dd if=/path/to/your.iso of=/dev/sdX bs=4M status=progress && syncNeste exemplo:
- if=/path/to/your.iso especifica o arquivo de entrada, que é a imagem ISO.
- of=/dev/sdX especifica o arquivo de saída, que é o pen drive USB (substitua X pela letra apropriada para o seu dispositivo USB).
- bs=4M define o tamanho do bloco para 4 megabytes, otimizando o processo de cópia.
- status=progress fornece atualizações em tempo real sobre o progresso da cópia.
- sync garante que todos os dados sejam gravados no USB antes que o processo seja concluído.
Este comando criará um pen drive USB inicializável que pode ser usado para instalar o sistema operacional contido no arquivo ISO.
Perguntas Frequentes
Os seguintes exemplos em formato de perguntas e respostas devem lhe dar uma boa ideia de como o comando dd funciona.
Q1. Como mudar o caso do texto de entrada usando o comando dd?
Suponha que você tenha algumas linhas de texto escritas em letras minúsculas, e a necessidade é convertê-las rapidamente para letras maiúsculas. Você pode usar a opção de linha de comando conv (com ucase como seu valor).
Aqui está um exemplo:
A captura de tela acima mostra o comando, bem como o texto de entrada. A combinação de teclas Ctrl+d foi usada para informar ao dd que terminamos de inserir a entrada, e assim que isso foi feito, o comando produziu a seguinte saída:
Assim, você pode ver que o texto de entrada foi convertido de minúsculas para maiúsculas. As últimas três linhas são apenas algumas estatísticas relacionadas à operação.
Nota: Da mesma forma, você pode usar o valor lcase para converter texto em maiúsculas para minúsculas.
Q2. Como ler de e escrever em arquivos em vez disso?
Nós inserimos o texto através do stdin (entrada padrão) no primeiro exemplo acima. No entanto, você sempre pode usar arquivos de entrada e saída. Para especificar os nomes dos arquivos de entrada e saída, use as opções de linha de comando if e of.
Por exemplo, se você quiser converter o caso do texto no arquivo1 e depois gravá-lo no arquivo2, você pode fazer isso da seguinte maneira:
dd if=file1 of=file2 conv=ucaseQ3. Como pular texto ao ler a entrada?
Se você quiser, pode pedir ao dd para pular alguns bytes iniciais ao ler o texto de entrada. Isso pode ser feito usando a opção skip, que requer um valor numérico. Se, digamos, esse valor for ‘N’, então o dd pulará N blocos do tamanho de ibs no início da entrada. Isso nos leva a ‘ibs’, outra opção de linha de comando do dd cujo valor especifica o número de bytes que a ferramenta lê de cada vez (o padrão é 512).
Assim, suponha que você queira pular os primeiros 4 bytes de um arquivo de entrada. Você deve primeiro definir it para 4 e depois usar 1 como o valor de skip. Isso garantirá que a ferramenta pule 1 bloco de 4 bytes ao ler o arquivo de entrada.
Assim, você pode ver que o texto hey, foi pulado ao ler o arquivo1 - é por isso que não apareceu no arquivo2.
Q4. Como trocar cada par de bytes de entrada na saída?
Você também pode usar o dd para trocar cada par de bytes de entrada se houver tal requisito. Isso pode ser alcançado usando swab como valor para a opção de linha de comando conv. A captura de tela a seguir tornará as coisas mais claras:
Q5. Como fazer o dd funcionar apenas quando o arquivo de saída não existir?
Se a exigência é que o comando dd não faça nada quando o arquivo de saída já existir, então o valor excl para a opção conv pode impor essa condição.
A captura de tela a seguir mostra o caso de uso em ação:
Q6. Como garantir que o arquivo de saída seja atualizado em modo de anexação?
Por padrão, o dd apenas sobrescreve o arquivo de saída (se existir). Mas se você quiser que ele anexe o texto em vez disso, use o valor append para a FLAG oflag e notrunc para a opção conv.
Por exemplo:
dd if=file1 of=file3 oflag=append conv=notruncAqui está o comando acima em ação:

Q7. Como fazer o dd não criar o arquivo de saída?
Se você quiser, também pode forçar o comando dd a não criar um arquivo de saída se o arquivo dado no comando não existir. Isso pode ser feito usando o valor nocreat da opção de linha de comando conv.
Por exemplo:
Q8. Como controlar o nível de informações impressas no stderr?
Se você quiser, também pode limitar a quantidade de informações que o comando imprime no stderr. Isso pode ser feito usando a opção de linha de comando status. Por exemplo, se você quiser suprimir tudo, exceto mensagens de erro, pode passar o valor none para esta opção de linha de comando:
dd if=file1 of=file3 status=noneOutros valores disponíveis são noxfer e progress. Aqui está o que a página de manual diz sobre a opção status:
status=LEVEL
O NÍVEL de informações a serem impressas no stderr; 'none' suprime
tudo, exceto mensagens de erro, 'noxfer' suprime as estatísticas finais
de transferência, 'progress' mostra estatísticas de transferência periódicas?Conclusão
Os exemplos discutidos neste tutorial apenas arranham a superfície ao explorar o que todo o comando dd pode fazer. Apenas para lhe dar uma ideia, você pode usar a ferramenta para criar sistemas de arquivos virtuais e backups de discos rígidos ou partições do sistema. Para mais informações sobre o dd, acesse sua página de manual.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.