
Por exemplo, posso fazer:
cat /dev/sda1 > /dev/sda2
em vez de usar dd e se não, por que isso não funcionará?
Responder1
Em princípio, você poderia usar qualquer um deles. Existem algumas diferenças importantes, mas nenhuma que se aplique aqui.
Quando você usa
>
o redirecionamento, o arquivo de destino é aberto e truncado. Só então é escrito. No entanto, isso não se aplica a dispositivos de bloco — eles têm um tamanho fixo, portanto o “truncamento” não faz nada com eles.Com
cat
você não é fácil dizer para copiar apenas o primeironbytes ou pular/buscar.Isto é o quedd
é útil para.cat
não permite especificar um tamanho de bloco. Isso não importa hoje, quando os tamanhos dos blocos são mascarados pelos sistemas de arquivos usados, mas costumava fazer diferença onde os dispositivos seriam lidos com tamanhos de blocos específicos (fitas).Para discos rígidos,
cat
pode ser um pouco mais rápido(melhor ainda do quedd
com um tamanho de bloco bem escolhido, sem falar no padrão que torna as coisas mais lentas).