Qual é a diferença entre 'dd', 'cp' e 'rsync'? [fechadas]

4

Além das explicações das páginas man e --help , de que maneira os comandos dd , cp e rsync diferem quando usados para copiar arquivos? Em que contexto cada um deles é superior aos outros, por alguma definição de 'superior', de modo que deve obter preferência de uso?

    
por XavierStuvw 20.01.2017 / 10:36

1 resposta

10

Eles são animais completamente diferentes que se encaixam melhor em diferentes casos de manipulação de arquivos ou dispositivos:

dd

Este comando foi criado como um utilitário "copiar e converter", originalmente destinado a converter arquivos entre o mundo ASCII, little-endian, byte-stream de computadores DEC e o EBCDIC, big-endian, aparecendo na primeira vez em Unix Versão 5 . Tornou-se o utilitário de comando de facto para manipular tudo o que pode ser mapeado como um arquivo dentro do seu sistema operacional tipo Unix (copiar um disco, fazer backup do mbr, clonar um disco como arquivo, copiar alguns blocos um arquivo de dispositivo, escrever uma imagem para um stick USB ..), e canalizada para outros comandos, o céu é o limite. Uma alternativa para este software é o comando dcfldd .

dd material relacionado:

cp

Faça cópias de arquivos e diretórios. Este é um nível de abstração mais "alto", no qual você pode copiar diretórios recursivamente, sem se preocupar com tamanho de bloco, conversão de arquivos, etc. É uma ferramenta melhor para lidar com casos "1-para-muitos" de cópia de arquivo. , siga link simbólico, copiar recursivamente e verbosidade. No entanto, ele tem suas limitações, como lidar com alterações de arquivos, cópia remota e as coisas que são mais bem tratadas por rsync .

material relacionado ao CP:

rsync

É possível copiar arquivos dentro do mesmo computador, mas seus recursos são mais úteis em cenários de cópia remota. Alguns dos recursos são manipulação / manipulação de propriedade, expressões "excluir" mais fáceis para uma cópia melhor, soma de verificação de arquivo para ver se um arquivo já foi copiado, excluir arquivos de origem durante ou após copu, o uso de um "shell transparente" invocando o protocolo queria usar um URI específico ( ssh:// , rsync:// ...), pipelining e outras coisas que criam um ambiente otimizado para espelhamento remoto.

material relacionado ao rsync:

Leitura adicional:

por 20.01.2017 / 11:46