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?

Itai Ganot
la source

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

TBI Infotech
la source
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
HBruijn
la source