Em princípio, você poderia usar qualquer um deles. Existem algumas diferenças importantes, mas nenhuma que se aplica aqui.
-
Quando você usa o redirecionamento
>
, o arquivo de destino é aberto e truncado. Só então é escrito para. No entanto, isso não se aplica a dispositivos de bloco - eles têm um tamanho fixo, portanto, "truncamento" não faz nada a eles. -
Com
cat
, você não pode dizer facilmente para copiar apenas os primeiros n bytes ou pular / procurar. Isso é o quedd
é útil para . -
cat
não permite especificar um tamanho de bloco. Isso não importa hoje, quando os tamanhos de bloco são mascarados pelos sistemas de arquivos que estão sendo usados, mas costumava fazer a 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 até quedd
com um tamanho de bloco bem escolhido, sem falar no padrão que retarda as coisas).