Je cherche la différence entre cp -r
et cp -a
. Que signifie "récursif" en termes de copie de fichiers d'un dossier?
Je cherche la différence entre cp -r
et cp -a
. Que signifie "récursif" en termes de copie de fichiers d'un dossier?
Réponses:
Récursif signifie que cp
copie le contenu des répertoires. Si un répertoire contient des sous-répertoires, ils sont également copiés (de manière récursive). Sans cela -R
, la cp
commande ignore les répertoires. -r
est identique à -R
sous Linux, il diffère dans certains cas particuliers sur certaines variantes Unix.
Par défaut, cp
crée un nouveau fichier ayant le même contenu que l'ancien fichier et les mêmes autorisations, mais restreint par l' umask . la copie est datée de l'heure de la copie et appartient à l'utilisateur qui la copie. Avec l' -p
option, la copie a la même heure de modification, la même heure d'accès et les mêmes autorisations que l'original. Il a également le même propriétaire et le même groupe que l'original, si l'utilisateur qui copie a le droit de créer de tels fichiers.
L' -a
option signifie -R
et -p
, plus quelques autres options de préservation. Il tente de réaliser une copie aussi proche que possible de l'original: même arborescence de répertoires, mêmes types de fichiers, même contenu, mêmes métadonnées (heures, autorisations, attributs étendus, etc.).
-r
parce que -a
(pour a
rchive) est toujours le plus sûr et probablement ce que vous vous attendiez.
-r
est que vous utilisez une variante unix autre que Linux -a
et que vous utiliseriez généralement cp -rp
. Ou rsync -a
.
L'option -r ou -R pour "récursive" signifie qu'elle copiera tous les fichiers, y compris les fichiers à l'intérieur des sous-dossiers.
L'option -a telle qu'elle est répertoriée est identique à -dR, ce qui signifie qu'elle préservera les liens et copiera le contenu des sous-répertoires. En préservant les liens, cela signifie que les liens ne seront pas suivis car ils sont copiés de manière récursive.