Certaines personnes cherchent une meilleure explication dans les pages de manuel, car la description n’est pas toujours claire. J'ai dû creuser plusieurs fois et tester / expérimenter pour comprendre ce qui se passe réellement avec une commande particulière. La page de manuel de grep peut me confondre tous les jours.
Joe
2
Je peux comprendre votre frustration, mais à mon avis, la meilleure façon d’apprendre consiste à tester et à expérimenter.
Tripledes
37
OU apprenez en posant des questions ici, en obtenant la réponse d’une manière que vous comprenez, puis en ayant une meilleure idée de ce qu’il faut faire pour tester et expérimenter. S'il vous plaît gardez à l'esprit que fonctionne pour vous très souvent ne fonctionne pas pour moi, etc. etc.
Will Lanni
Réponses:
199
Récursif signifie que cpcopie 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 cpcommande ignore les répertoires. -rest identique à -Rsous Linux, il diffère dans certains cas particuliers sur certaines variantes Unix.
Par défaut, cpcré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' -poption, 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' -aoption signifie -Ret -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.).
Au fond, sauf si vous voulez quelque chose de spécial, vous avez besoin jamais -rparce que -a(pour archive) est toujours le plus sûr et probablement ce que vous vous attendiez.
ams
2
@am Oui, c'est un bon résumé. La seule raison courante d'utilisation -rest que vous utilisez une variante unix autre que Linux -aet que vous utiliseriez généralement cp -rp. Ou rsync -a.
Gilles
Parfois, les autorisations permettent -r mais pas -a
DrCord
Pas -r, pas -R ne fonctionne pas dans Ubuntu 18
Arkady
17
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.
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
, lacp
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.).la source
-r
parce que-a
(poura
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éralementcp -rp
. Oursync -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.
la source