CP(1)             Manuel de l'utilisateur Linux             CP(1)


NOM
       cp - Copier des fichiers.

SYNOPSIS
       cp [options] fichier chemin
       cp [options] fichier... répertoire

       Options POSIX : [-fipRr]

       Options  GNU  (forme  courte) : [-abdfilprsuvxPR] [-S SUF­
       FIXE]  [-V   {numbered,existing,simple}]   [--sparse=WHEN]
       [--help] [--version] [--]


DESCRIPTION
       cp  sert  à  copier  des  fichiers  (et eventuellement des
       répertoires).  On peut aussi bien copier un fichier  donné
       vers  une  destination  précise  que copier un ensemble de
       fichiers dans un répertoire.

       Si le dernier argument correspond à un nom de  répertoire,
       cp copie dans ce répertoire chaque fichier indiqué en con­
       servant le même nom.

       Sinon, s'il n'y a que deux fichiers indiqués, il copie  le
       premier sur le second.

       Une  erreur se produit si le dernier argument n'est pas un
       répertoire, et si plus de deux fichiers sont indiqués. Par
       défaut, on n'effectue pas la copie de répertoires.

       Ainsi  `cp  -r  /a  /b'  copiera /a dans /b/a et /a/x dans
       /b/a/x au cas où /b existe déjà, mais il copiera /a sur /b
       et /a/x dans /b/x si /b n'existait pas encore.

       Les  autorisations d'accès des fichiers et des répertoires
       créés seront les mêmes que celles des  fichiers  d'origine
       masquées avec un ET binaire avec 0777, et modifiées par le
       umask de l'utilisateur (sauf si l'on invoque l'option -p).

       Pendant  la  copie  récursive de répertoires, les nouveaux
       répertoires verront leur masque temporairement étendu  par
       un  OU  binaire  avec  S_IRWXU (0700), afin d'autoriser le
       processus d'y lire, écrire et vérifier le contenu.

       cp ne fait rien lorsque l'on tente de  copier  un  fichier
       sur  lui-même  (sauf  éventuellement  afficher  un message
       d'erreur).

       Lorsque la copie se fait sur un fichier existant, celui-ci
       est   ouvert   en   utilisant   `open(chemin,  O_WRONLY  |
       O_TRUNC)'.  Lorsque  la  copie  a  lieu  dans  un  nouveau
       fichier,  on  invoque  `open(chemin,  O_WRONLY  | O_CREAT,
       mode)'.  Si l'ouverture d'un fichier existant  échoue,  et



FSF                         5 Mai 1999                          1





CP(1)             Manuel de l'utilisateur Linux             CP(1)


       si  l'option  -f  a  été invoquée, cp essaye de supprimer,
       avec unlink(2), le fichier existant, puis  de  recréer  un
       nouveau fichier.


   OPTIONS POSIX
       Posix défini quatre options et demi :

       -f     Effacer  les  fichiers  cibles  existants (voir ci-
              dessus).

       -i     Interroger  l'utilisateur   avant   d'écraser   des
              fichiers  réguliers  existants.   La  question  est
              affichée sur  stderr,  et  la  réponse  lue  depuis
              stdin.

       -p     Conserver  le  propriétaire, le groupe, les permis­
              sions d'accès et les horodatages du fichier  origi­
              nal.  Si  la  conservation  du  propriétaire  ou du
              groupe est impossible, les bits Set-UID et  Set-GID
              sont   effacés.    L'horodatage   sera  quand  même
              légèrement différent entre l'original et  la  copie
              car l'opération de copie nécessite un accès en lec­
              ture au fichier source.

       -R     Copier récursivement les répertoires, et gérer cor­
              rectement  les  copies des fichiers spéciaux ou des
              FIFOs.

       -r     Copier récursivement les répertoires mais  la  ges­
              tion  des  fichiers  spéciaux n'est pas définie. En
              fait l'option -r est autorisée, et même  encouragée
              à se comporter comme l'option -R, toutefois le com­
              portement (stupide) de la  version  GNU  n'est  pas
              interdit.

Spécificité GNU
       En  général  les  fichiers sont écrits immédiatement après
       lecture de  l'original,  sauf  si  l'on  utilise  l'option
       --sparse décrite plus bas.

       Par défaut, cp ne copie pas les répertoires (voir l'option
       -r).

       cp refuse généralement de copier un fichier sur  lui-même,
       avec  l'exception  suivante  :  si  les options --force et
       --backup sont indiquées, et si  les  fichiers  origine  et
       copie  sont  identiques  et  se  rapportent  à  un fichier
       régulier, cp effectuera une copie de sauvegarde (voir plus
       bas).   Ceci  peut  servir  à  faire  une  sauvegarde d'un
       fichier avant de le modifier.






FSF                         5 Mai 1999                          2





CP(1)             Manuel de l'utilisateur Linux             CP(1)


   OPTIONS GNU
       -a, --archive
              Préserver autant que possible la structure  et  les
              attributs  du  fichier  original  lors de la copie.
              Cette option est équivalente à -dpR.

       -b, --backup
              Effectuer une  copie  de  sauvegarde  des  fichiers
              écrasés ou supprimés.

       -d, --no-dereference
              Copier  les  liens  symboliques  en  tant  que tels
              plutôt que de copier les fichiers vers lesquels ils
              pointent.  Préserver  également les liens matériels
              entre les fichiers sources durant la copie.

       -f, --force
              Effacer les fichiers cibles existants.

       -i, --interactive
              Interroger  l'utilisateur   avant   d'écraser   des
              fichiers réguliers existants.

       -l, --link
              Effectuer des liens matériels plutôt que des copies
              des fichiers réguliers.

       -P, --parents
              Construire le nom de chaque fichier destination  en
              ajoutant  au répertoire cible un slash et le nom du
              fichier source indiqué. Le dernier argument  de  cp
              doit  être  un répertoire existant. Par exemple, la
              commande `cp --parents a/b/c rep_existant' copie le
              fichier a/b/c en rep_existant/a/b/c, tout en créant
              les sous-répertoires intermédiaires manquants.

       -p, --preserve
              Conserver le propriétaire, le groupe,  les  permis­
              sions  d'accès et les horodatages du fichier origi­
              nal.

       -r     Copier récursivement  les  répertoires,  les  sous-
              répertoires,  et les fichiers réguliers qu'ils con­
              tiennent. Les fichiers spéciaux et les  FIFOs  sont
              considérés comme des fichiers normaux, desquels ont
              essayera de lire des données pour les  écrire  dans
              le  fichier destination.  Ainsi `cp' risque de blo­
              quer indéfiniment durant la lecture d'une  FIFO  ou
              d'un  fichier  spécial /dev/tty. Il faut considérer
              ceci comme un bug.  Cela signifie qu'il faut éviter
              l'option  -r,  et  la remplacer par -R.  N'oublions
              pas que l'ouverture d'un fichier  spécial  inconnu,
              par  exemple  un  scanner  peut  avoir  des  effets
              indésirables sur le matériel.



FSF                         5 Mai 1999                          3





CP(1)             Manuel de l'utilisateur Linux             CP(1)


       -r     Copier récursivement  les  répertoires,  les  sous-
              répertoires,   en  préservant  tous  les  types  de
              fichiers rencontrés (voir option -r ci-dessus).

       --sparse=QUAND
              [NDT : sparse  =  clairsemé]  Un  fichier  à  trous
              (sparse  file) contient des séquences d'octets nuls
              n'occupant pas de  place  sur  le  disque.  L'appel
              système `read' lit ces données comme des zéros. Non
              seulement cela permet d'économiser de la place  sur
              le disque, mais on gagne également de la vitesse de
              lecture. De nombreux fichiers binaires (exécutables
              par  exemple) contiennent des séquences importantes
              de zéros. Par défaut, cp détecte les trous dans les
              fichiers  en utilisant une heuristique grossière et
              restituera les trous dans les fichiers de sortie.

              L'argument QUAND peut  prendre  l'une  des  valeurs
              suivantes :

              auto   Le  comportement  par  défaut, le fichier de
                     sortie est troué si des trous sont  détectés
                     dans le fichier d'entrée.

              always Toujours  trouer  les  fichiers  de  sortie.
                     Cette  option  sert  lorsque  les   fichiers
                     d'entrée  se  trouvent  sur  un  système  de
                     fichiers n'acceptant pas les trous,  et  que
                     les  fichiers de sortie se trouveront sur un
                     système les acceptant.

              never  Ne jamais essayer de faire de trous dans les
                     fichiers  de  sortie.  Si  vous  trouvez une
                     utilité  à  cette  option,  faites  nous  le
                     savoir...

       -s, --symbolic-link
              Créer  des  liens symboliques plutôt que des copies
              des fichiers réguliers.  Tous les noms de  fichiers
              sources doivent être absolus (commençant par '/') à
              moins que les fichiers destinations  résident  dans
              le  répertoire  en  cours.  Cette option affiche un
              message d'erreur pour les systèmes de  fichiers  ne
              supportant pas les liens symboliques.

       -u, --update
              Ne pas effectuer la copie si le fichier destination
              existant (autre qu'un répertoire)  a  une  date  de
              modification  égale  ou  plus  récente que celle du
              fichier source.

       -v, --verbose
              Afficher le nom  de  chaque  fichier  avant  de  le
              copier.



FSF                         5 Mai 1999                          4





CP(1)             Manuel de l'utilisateur Linux             CP(1)


       -x, --one-file-system
              Ignorer  les  sous-répertoires  se  trouvant sur un
              système de fichiers différent de celui du départ de
              la copie.

OPTIONS DE SAUVEGARDE GNU
       Les  versions GNU des programmes comme cp, mv, ln, install
       et patch créeront au besoin une copie  de  sauvegarde  des
       fichiers  à écraser, à modifier ou à détruire.  On demande
       une copie de  sauvegarde  à  l'aide  de  l'option  -b,  on
       indique  la nomenclature à adopter avec l'option -V, et si
       la sauvegarde  se  fait  avec  un  suffixe,  celui-ci  est
       précisé avec l'option -S.

       -b, --backup
              Créer  une  copie  de  sauvegarde  des  fichiers  à
              écraser ou à détruire.

       -S SUFFIXE, --suffix=SUFFIXE
              Ajouter le SUFFIXE  indiqué  à  chaque  fichier  de
              sauvegarde   créé.    Si  cette  option  n'est  pas
              indiquée, on utilisera la  valeur  de  la  variable
              d'environnement  SIMPLE_BACKUP_SUFFIX.  Si la vari­
              able SIMPLE_BACKUP_SUFFIX n'existe pas,  la  valeur
              par défaut est `~'.

       -V METHODE, --version-control=METHODE
              Préciser la nomenclature des fichiers de sauvegarde
              La METHODE indiquée  peut  être  `numbered'  (`t'),
              `existing'  (`nil'),  ou  `never'  (`simple').   Si
              cette option n'est pas indiquée, la  valeur  de  la
              variable    d'environnement   VERSION_CONTROL   est
              utilisée,  et  si   la   variable   VERSION_CONTROL
              n'existe  pas, la valeur par défaut est `existing'.

              Cette option correspond à la variable `version-con­
              trol'   sous  Emacs.   Les  METHODES  valides  (les
              abbréviations non-ambigües sont acceptées) sont :

              t, numbered
                     Toujours faire une sauvegarde numérotée.

              nil, existing
                     Faire une sauvegarde numérotée des  fichiers
                     en ayant déjà une précédente, et une sauveg­
                     arde simple pour les autres.

              never, simple
                     Faire toujours une sauvegarde simple.

OPTIONS STANDARDS GNU
       --help Afficher un message d'aide sur la sortie  standard,
              et terminer correctement.




FSF                         5 Mai 1999                          5





CP(1)             Manuel de l'utilisateur Linux             CP(1)


       --version
              Afficher  un  numéro de version sur la sortie stan­
              dard, et terminer correctement.

       --     Fin de la liste d'options.

ENVIRONMENT
       Les variables LANG, LC_ALL, LC_CTYPE  et  LC_MESSAGES  ont
       leurs  significations  habituelles.   Pour la version GNU,
       les variables SIMPLE_BACKUP_SUFFIX et VERSION_CONTROL con­
       figurent  la  nomenclature adoptée pour les sauvegardes de
       fichiers.

CONFORMITÉ
       POSIX 1003.2.


TRADUCTION
       Christophe Blaess, 1997.






































FSF                         5 Mai 1999                          6