Ils semblent similaires à moi. Je veux savoir comment les utiliser. Quelle est la différence de structure?
É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 uniquesrsync
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!
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).