Commande cp sous Linux : options et écrasement sans confirmation | yes et \ (barre oblique inverse)

Mention d'affiliation v3.1
Mention d'affiliation v3.2 (mobile)
Environnement de testFamille RHELAlmaLinux 9.8Compte rootVérifié le 2026-10-05

cp demande, pour chaque fichier, s'il faut l'écraser lorsque vous en copiez plusieurs, et le travail s'interrompt. La commande cp, abréviation de Copy, copie des fichiers et des répertoires ; cet article présente l'utilisation de base, les options et 2 méthodes pour tout écraser sans confirmation.

La commande cp écrase sans rien demander un fichier du même nom à la destination. Pour l'éviter, [alias cp=’cp -i’] est défini : une confirmation est demandée avant d'écraser.

✅ Utilisation de base

La syntaxe de base est la suivante.

cp -[options] <À copier : Fichier ou répertoire​> <Destination : chemin ou Fichier ou Répertoire ​​>

Indiquez d'abord ce qu'il faut copier, puis la destination ou le nouveau nom.

Commande cp
# Copie fichier > fichier 
cp file1 file2
# Copie fichier > dans un répertoire
cp file1 dir1/
# Copie de 2 fichiers > dans un répertoire
cp file1 file2 dir1/
 testuser]# cp dir1/ dir2/
cp: -r not specified; omitting directory 'dir1/'

Pour copier un répertoire, il faut l'option -r, -R ou -a.

  • -r/-R : copie récursive du répertoire et de son contenu
  • -a : copie récursive en conservant les attributs (inclut -r)

✅ 2 méthodes pour tout écraser avec la commande cp

Quand vous lancez la commande cp, [overwrite] vous est demandé, car l'alias [cp -i] est défini pour cp.

cp -a
cp: overwrite 'messages_ori'? y
~]# alias cp
alias cp='cp -i'

Avec un ou deux fichiers, ce n'est pas gênant, mais pour copier beaucoup de fichiers, il faut répondre pour chacun, ce qui devient fastidieux.

Dans ce cas, les deux méthodes ci-dessous permettent d'écraser sans confirmation.

yes | cp -ar /home/ ./

La première consiste à placer [yes |] devant : y est saisi automatiquement à chaque confirmation et la copie se poursuit. La seconde consiste à placer une barre oblique inverse [\] devant la commande : l'alias est contourné et la commande cp d'origine s'exécute.

\cp -ar /home/ ./

✅ Options de la commande cp & simulateur

OptionDescription
-a--archiveCopie en conservant tous les droits, le propriétaire, le groupe, les horodatages, etc. du fichier d'origine[conserve droits, propriétaire, groupe, horodatages, etc.] + [-d : copie le lien symbolique lui-même] + [-R : copie récursive des répertoires]
-bSi la destination existe déjà, sauvegarde le fichier existant avant de copier
-dSi la source est un lien symbolique, copie le lien lui-même
-fSi le fichier de destination existe, le supprime de force puis copie
-i--interactiveDemande confirmation à l'utilisateur avant d'écraseralias cp='cp -i'
-l(minuscule)Copie sous forme de lien physique
-PCopie les liens symboliques tels quels, sans les suivre
-pConserve tels quels le propriétaire, le groupe, les droits et les horodatages de l'original
-r, -RCopie les répertoires de façon récursive (sous-répertoires et fichiers compris)L'option -r n'est pas standard POSIX et peut poser problème avec les liens symboliques ou les fichiers de périphérique.
-sCopie sous forme de lien symbolique (la source doit être indiquée en chemin absolu)
-uN'écrase pas si le fichier de destination est plus récent ou identique
-vAffiche la progression de la copie (verbose)Option qui affiche un message pour chaque copie terminée
-xNe copie pas si la source et la destination sont sur des systèmes de fichiers différents.
Simulateur de commandes cpalias cp='cp -i'
[root@server work]#
Fonctionne uniquement dans votre navigateur et ne touche à aucun vrai fichier. Tapez cp en changeant les options, puis vérifiez le résultat avec ls, cat et diff. Les flèches ↑↓ du clavier rappellent les commandes précédentes, et uknew help affiche les commandes disponibles.

🔲 Option -a : conserver les attributs des fichiers d'origine & copier les sous-répertoires (& fichiers)

Pour copier les sous-répertoires en conservant les attributs des fichiers d'origine, l'option [-a] suffit. Certains scripts ou outils d'automatisation exigent toutefois [-r] explicitement : on ajoute alors parfois [-r] ou [-R].

 testuser]# cp -a dir1 dir2
 testuser]# ll dir*
dir1:
total 0
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:15 file2

dir2:
total 0
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:15 file2
 testuser]# 

[-d : copie le lien symbolique lui-même]+[-R : copie récursive des répertoires]+[-⁠-preserve=all]

Ce que comprend --preserve=allDescription
modeDroits du fichier (rwx, etc.)
ownershipPropriétaire (user) et groupe (group)
timestampsHorodatages, comme la date de dernière modification
linksNombre de liens physiques (partage du même inode conservé)
contextContexte de sécurité SELinux
xattrAttributs étendus (métadonnées stockées en plus du fichier)
allForme abrégée qui inclut d'un coup tous les éléments ci-dessus

🔲 Option -u : copier seulement les fichiers nouveaux et modifiés

  • Copie seulement si aucun fichier du même nom n'existe à la destination, ou si la source est plus récente
  • Souvent utilisé pour les sauvegardes et la synchronisation
 testuser]# cp -u file1 file2
 testuser]# ll file*
-rw-r--r-- 1 root root 0 Jun  8 14:11 file1
-rw-r--r-- 1 root root 0 Jun  8 14:30 file2
Linux

ℹ️ Mention d'affiliation
Le contenu de ce site contient des liens d'affiliation. Lorsqu'un visiteur achète un produit ou un service via l'un de ces liens, le site perçoit une commission du vendeur. Le montant payé par l'acheteur(il baisse lors des promotions ↓), lui, n'augmente pas. Les prix, remises et stocks indiqués correspondent à la date de rédaction et peuvent différer ; vérifiez-les donc auprès du vendeur avant d'acheter. Les produits sont choisis et évalués selon nos propres critères, et les commissions n'influencent ni l'ordre de présentation ni le contenu des évaluations.