Copier sur des fichiers existants sans confirmation?


18

J'ai besoin de copier et d'écraser une grande quantité de fichiers, j'ai utilisé la commande suivante:

# cp -Rf * ../

Mais chaque fois qu'un fichier du même nom existe sur le dossier de destination, je reçois cette question:

cp: overwrite `../ibdata1'? 

Le problème est que j'ai environ 200 fichiers qui vont être écrasés et je ne pense pas que presser Y then Enter200 fois soit la bonne façon de le faire.

Alors, quelle est la bonne façon de procéder?

Réponses:


38

Vous pouvez le faire yes | cp -rf myxx, ou si vous le faites en tant que root - votre .bashrc ou .profile a un alias de cp à cp -i, la plupart des systèmes modernes le font pour les profils root.

Vous pouvez contourner temporairement un alias et utiliser la version sans alias d'une commande en la préfixant avec \, par exemple \ cp


4
+1 pour indiquer comment contourner un alias. Tenté de -1 pour la solution de force brute.
Hennes

5
+! pour la yesfonction pipe - très pratique!
Andrew Newby

14

Vous vous rendez compte que RHEL et CentOS ont essayé de protéger les utilisateurs novices en configurant des alias pour l'utilisateur root pour éviter d'écraser et de supprimer accidentellement des fichiers?

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

Le -icommutateur est ce qui nécessite une confirmation lors de la modification ou de la suppression de fichiers existants. Étant donné que l'expansion des alias se produit avant l'exécution de la commande, même l'utilisation du --force -f commutateur nécessitera toujours une confirmation.

Vous pouvez supprimer l'alias de façon permanente en modifiant le /root/.bashrcfichier, supprimer l'alias pour la durée d'une session avec unalias cp ou pour une seule commande, utilisez l'une des options suivantes:

  • utiliser le chemin complet /bin/cp
  • utiliser des guillemets "cp"ou 'cp'autour de la commande
  • utilisez le mot-clé de commande, par exemple command cp
  • échapper à la commande \cp
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.