La fonction cp

Portrait de aad

La fonction cp, comme copy, permet de copier un fichier ou un répertoire. Cette fonction est assez simple a utiliser : cp [OPTIONS] SOURCE DESTINATION où SOURCE est le fichier ou répertoire à copier et DESTINATION l'endroit où SOURCE est copiée.
Exemple :

user@ordi:~$ ls
Books   Code       driver_wifi_80211g.zip  goldie.avi     Images      john-1.7.2.tar.gz  Musique  Vidéos
Bureau  Documents  Examples                gtk-cours.pdf  john-1.7.2  Modèles            Public
user@ordi:~$ cp john-1.7.2.tar.gz Documents/
user@ordi:~$ ls Documents/
el201  en201a  in201  john-1.7.2.tar.gz  ma201  ma211_annales.tar.gz  pr201.tar.gz  sh201

Dans cet exemple, john-1.7.2.tar.gz est SOURCE et Document est DESTINATION. On ne s'est pas servi de OPTION car il n'est pas obligatoire d'en utiliser. Cependant certaines options sont assez pratiques :

  • cp -r ou cp -R: permet de copier un répertoire (recursive)
  • cp -i : permet de demander confirmation avant d'écraser un fichier déjà existant (interactive)
  • cp -v : permet d'utiliser le mode verbose : cp devient alors très bavard

Comme pour ls, il n'est pas interdit d'utiliser plusieurs options à la fois ; ainsi cp -rvi Document/en201a ~/cours permet de de copier le répertoire en201a situé dans ./Document vers /home/user/cours.

user@ordi:~$ ls
Books   Code   Documents               Examples    gtk-cours.pdf  john-1.7.2         Modèles  Public
Bureau  cours  driver_wifi_80211g.zip  goldie.avi  Images         john-1.7.2.tar.gz  Musique  Vidéos
user@ordi:~$ cp -rvi Documents/en201a/ ~/cours
`Documents/en201a/` -> '/home/user/cours/en201a'
`Documents/en201a/en201a3_v2.pdf` -> '/home/user/cours/en201a/en201a3_v2.pdf'
`Documents/en201a/en201a4_v2.pdf` -> '/home/user/cours/en201a/en201a4_v2.pdf'
`Documents/en201a/en201a3_v1.pdf` -> '/home/user/cours/en201a/en201a3_v1.pdf'
user@ordi:~$ ls cours/
en201a

Les 3 options citées précédemment ne sont pas inutiles puisque qu'on les retrouve dans beaucoup d'autres commandes pour le même usage.