J'implémente un schéma de sauvegarde à l'aide de rsync et de liens physiques. Je sais que je peux utiliser link-dest avec rsync pour faire les hardlinks, mais j'ai vu la mention d'utiliser "cp -l" avant que "link-dest" ne soit implémenté dans rsync. Une autre méthode de hardlinking que je connais est "ln".
Donc, ma question est, par curiosité: y a-t-il une différence entre créer des liens physiques en utilisant "cp -l" et en utilisant "ln"?
cp: illegal option -- l
êtes-vous sûr que cp a une option l?Réponses:
Les résultats des deux doivent être les mêmes, dans la mesure où un lien dur est créé vers le fichier d'origine.
La différence réside dans l'utilisation prévue et donc les options disponibles pour chaque commande. Par exemple,
cp
peut utiliser la récursion alorsln
qu'il ne peut pas:va créer des liens durs
<target>
vers tous les fichiers<src>
. (il crée de nouveaux répertoires, pas des liens) Le résultat sera que l'arborescence des répertoires sous<target>
sera identique à celle sous<src>
. Il sera différent du faitcp -r <src> <target>
que l'utilisation de ce dernier copiera chaque fichier et dossier et leur donnera un nouveauinode
tandis que le premier utilise simplement des liens durs sur les fichiers et augmente donc simplement leurLinks
nombre.Lorsqu'il est utilisé pour copier un seul fichier, comme dans votre exemple, les résultats seront identiques.
la source
link utilise le moins d'appels système, suivi de ln et enfin cp :
la source