Comment copier ou déplacer des fichiers sans être invité à écraser?


8

Ce que j'ai essayé:

root@host [/home1]# cp -f hello /home3
cp: omitting directory `hello'
root@host [/home1]# cp -rf hello /home3
cp: overwrite `/home3/hello/.buildpath'? y
cp: overwrite `/home3/hello/.bash_logout'? y
cp: overwrite `/home3/hello/.project'? ^C

Ils me demandent toujours si je veux écraser. L'utilisation de mv ne fonctionne pas non plus. Donc qu'est ce que je devrais faire?

J'ai essayé d'autres choses:

root@host [/home1]# cp -rf hello /home3
cp: overwrite `/home3/hello/.buildpath'? y
cp: overwrite `/home3/hello/.bash_logout'? y
cp: overwrite `/home3/hello/.project'? ^C
root@host [/home1]# cp -force hello /home3
cp: invalid option -- 'o'
Try `cp --help' for more information.
root@host [/home1]# cp --remove-destination hello /home4
cp: omitting directory `hello'
root@host [/home1]# cp --remove-destination hello /home3
cp: omitting directory `hello'
root@host [/home1]# cp --remove-destination -r hello /home3
cp: overwrite `/home3/hello/.buildpath'? ^C
root@host [/home1]#

2
Pourriez-vous donner la sortie de alias cp?
Raphael Ahrens

2
En outre, type cpainsi que ls -lsur l'un des fichiers cibles peuvent fournir des informations utiles.
un CVn le

cp est une copie. D'accord, ce peut être un alias. Alors, quelle est la commande?
user4951

Réponses:


13

cpsemble être soit aliasé à quelque chose qui cause des problèmes, soit c'est une fonction. Vous pouvez supprimer l'alias / fonction:

unalias cp
unset -f cp

Si vous préférez simplement le remplacer maintenant, vous pouvez utiliser la commandcommande pour remplacer toutes les définitions d'alias / fonctions:

command cp [...]

Si vous préférez supprimer totalement cela, vous devrez probablement regarder dans vos fichiers de démarrage bash.


3
\cpévitera également l'alias.
sendmoreinfo

Oui, vous avez raison which cp => alias cp='cp -i; /bin/cp. Merci Amazon!
Gerry

8

Pour forcer l'écrasement sans demander, vous devez utiliser la commande mv et l'option "-f", utilisez man pour voir les options.

homme mv:

   -f, --force
          do not prompt before overwriting

Exemple:

mv -f test.tmp test.txt

1

Essayez cp -rv / sourcefileordirectory / Destinationfolder


Est-ce que ça va marcher? Que signifie -rv?
user4951

-rvsignifie récursif et verbeux. Cela devrait donc copier les fichiers et les sous-dossiers et afficher la progression sur le terminal.
JNat

1

Vous avez probablement un alias pour cp. Vous pouvez remplacer cet alias en procédant comme suit:

\cp -f hello /home3

Cela a l'avantage de ne pas modifier la configuration de vos alias, car il la remplace uniquement pour cet appel.


0

Vous pouvez utiliser yesce qui est conçu pour ce genre de chose. Il imprimera automatiquement yet répondra à ces invites pour vous:

yes | cp -f hello /home3

0

exécutez simplement alias cp=cpet il écrasera la cible sans demander dans cette session. Si vous souhaitez le stocker en tant que comportement standard, stockez-le dans votre ~/.bashrc.

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.