dd
foi útil antigamente, quando as pessoas usavam fitas (quando os tamanhos de bloco eram importantes) e quando ferramentas mais simples, como cat
, podiam não ser seguras em binários.
Hoje em dia, dd if=/dev/sdb of=/dev/sdc
é apenas complicado, propenso a erros, lento maneira de escrever cat /dev/sdb >/dev/sdc
. Embora o dd
ainda seja útil para alguns Tarefas relativamente raras , é muito menos útil do que o número de tutoriais que mencionam que permitiria que você acreditasse. Não há mágica em dd
, a mágica é toda em /dev/sdb
.
Seu novo comando sudo dd if=/dev/sdb bs=128K | pv -s 3000G | sudo dd of=/dev/sdc bs=128K
novamente é desnecessariamente lento e complicado. Os dados são lidos em 128kB de cada vez (o que é melhor que o padrão dd
de 512B, mas não tão bom quanto valores ainda maiores). Em seguida, ele passa por dois tubos antes de ser escrito.
Use o comando cat
mais simples e rápido. (Em algumas cat
foi mais rápido que cp
para uma cópia entre discos diferentes, e cp
foi mais rápido que dd
com qualquer tamanho do bloco; dd
com um tamanho de bloco grande foi um pouco mais rápido ao copiar no mesmo disco.)
cat /dev/sdb >/dev/sdc
Se você quiser executar este comando em sudo
, você precisa fazer o redirecionamento acontecer como root:
sudo sh -c 'cat /dev/sdb >/dev/sdc'
Se você quiser um relatório de progresso, já que está usando o Linux, pode facilmente obter um observando o PID do processo cat
(digamos 1234) e observando a posição de seu descritor de arquivo de entrada (ou saída) .
# cat /proc/1234/fdinfo/0
pos: 64155648
flags: 0100000
Se você quiser um relatório de progresso e sua variante unix não fornecer uma maneira fácil de obter uma posição de descritor de arquivo, você pode instalar e usar pv
em vez de cat
.