Vous ne voulez pas utiliser dd. C'est pour travailler sur un fichier ou un flux, pas sur un système de fichiers entier.
rsync est conçu pour faire ce que vous voulez mais comme l'a dit l'affiche précédente, et comme mes tests l'ont montré, ce n'est pas le plus rapide. C'est parce que c'est pour faire quelque chose comme ça : "Ok, je regarde le fichier A. Le fichier A est-il sur la destination ? Si oui, est-il plus récent, plus ancien, identique ?" Etc. rsync est un peu plus compliqué car il est destiné à être exécuté plus d'une fois... comme son nom l'indique, il sert à synchroniser deux emplacements.
Pour faire le genre de choses que vous voulez, j'ai trouvé qu'une copie tar était rapide, facile et fiable. Tar connaît les liens durs. Tar connaît les périphériques. Tar gère presque toutes les situations que vous rencontrerez dans votre système de fichiers (sauf les chemins vraiment longs, et, si vous n'utilisez pas Gnu tar, vous devrez peut-être vous méfier de mettre un / au début de votre nom de chemin).
Quoi qu'il en soit, j'ai eu 99,98% de succès au cours des 20 dernières années en faisant ça :
cd /my/source ; tar cf - sous-répertoire | (cd /destination/path ; tar xf -)
...Le sous-répertoire que vous voulez copier apparaîtra dans /destination/path .
Si vous aimez regarder votre progression, vous pouvez utiliser "xvf" au lieu de "xf" dans la dernière partie de cette chaîne.
...mes 0,02% d'échecs sont dus à des chemins de fichiers très longs... :-(
Tar ne garantit pas l'intégrité des fichiers. Cela dit, tant que vous ne voyez pas de messages d'erreur, je l'ai trouvé très fiable. Il conserve correctement les permissions et la propriété.