web-dev-qa-db-fra.com

Quelle est la différence entre `cp` et` rsync`?

Ils semblent similaires à moi. Je veux savoir comment les utiliser. Quelle est la différence de structure?

2
Thái Siu Nhưn

Étant bref (un petit livre pourrait être écrit sur le sujet), il est peut-être utile de penser comme ceci:

  • cp est destiné à la duplication et garantit par défaut uniquement que les fichiers ont des noms de chemin complets uniques
  • rsync est destiné à la synchronisation et utilise la taille et l'horodatage des fichiers pour décider s'ils doivent être remplacés. Il a beaucoup plus d'options et de capacités que cp

En utilisant leurs différentes options, vous pouvez utiliser l’une ou l’autre de ces tâches pour de nombreuses tâches. Par exemple, cp -u ne peut remplacer que les fichiers les plus récents, comme le permet rsync.

Mais il y a des tâches où l'une a des avantages par rapport à l'autre

Vous pouvez également utiliser cp lorsque vous souhaitez créer un fichier ou un répertoire en double local. Par exemple, vous voulez éditer un fichier important, vous devez donc commencer par faire une sauvegarde:

cp .bashrc bashrc-bak

Faire rsync faire cela nécessiterait trois frappes supplémentaires, alors pourquoi s'embêter? Si vous voulez dupliquer un répertoire

cp -r ~/Desktop/cakes ~/Recipes/cakes

vous sert bien. Pourquoi se donner la peine de taper rsync -a? Eh bien, vous pouvez le faire, car son option verbale -v donne des résultats plus intéressants et utiles.

Cependant, supposons que vous mettiez à jour une sauvegarde de certains répertoires de votre système sur un lecteur flash. Le répertoire existe déjà sur le lecteur flash et vous souhaitez simplement synchroniser les fichiers afin que la dernière version de vos fichiers soit disponible. rsync est beaucoup plus rapide que cp pour cela, car il vérifie la taille des fichiers et l'horodatage pour déterminer ceux qui doivent être mis à jour et vous pouvez ajouter davantage de précisions. Vous pouvez même lui faire faire une somme de contrôle au lieu de la "vérification rapide" par défaut, bien que cela prenne plus de temps.

Vous pouvez également utiliser rsync pour copier ou synchroniser des fichiers sur une machine distante, ou bien make est exécuté en tant que démon . Humble cp ne peut pas faire de telles choses sophistiquées.

Pour apprendre les options et la syntaxe ("structure"?) (Ce qui est très similaire), lisez man et info pages et pratiquez-vous!

4
Zanna

cp est un outil simple, utilisé depuis toujours, qui permet simplement de copier d'un emplacement à un autre sur votre système de fichiers local. Il ne fait que la copie cachée et peut demander d’écraser les fichiers.

rsync est un outil complexe pour la synchronisation de deux répertoires/fichiers, pas nécessairement sur le même système de fichiers (vous pouvez rsync sur ssh, ftp, ... ) et il a beaucoup de fonctionnalités pour économiser votre bande passante ou votre temps (il n’est pas nécessaire de tout copier, si les fichiers sont les mêmes).

0
Jakuje