Comment puis-je empêcher la commande cp d'inviter à remplacer. Je veux écraser tous les fichiers sans avoir à revenir sur le terminal. Comme ce sont des fichiers volumineux et prennent du temps à terminer.
J'ai essayé d'utiliser l'option -f. Il me demande toujours si je veux écraser.
-f, --force
if an existing destination file cannot be opened, remove it and
try again (redundant if the -n option is used)
cp -f /media/somedir/somefiles* .
cp: overwrite `./somefilesxxx'? y
whereis cp
affichera où est la commande. Vous pourrez donc appeler la vraie commande au lieu de l'alias.Après avoir vu cette solution. J'ai pu voir que la fonction d'alias bashes était à l'origine des problèmes. http://systembash.com/content/prompt-to-confirm-copy-even-with-cp-f/
Il recommande
Je veux toujours conserver l'alias, je ne veux tout simplement pas qu'il s'applique à cette instance. Ma solution est d'utiliser le binaire avec un chemin complet, afin que la fonction d'alias bashes ne prenne pas le relais. Cela fonctionne assez bien.
la source
Malheureusement sous Linux, la commande copy "cp" n'a pas d'option pour répondre automatiquement à cette question avec une réponse "y" ou "n". Il existe plusieurs solutions à ce problème en fonction de ce que vous souhaitez faire. Une solution consiste à utiliser la commande Unix "oui". Cette commande affichera une chaîne à plusieurs reprises jusqu'à ce qu'elle soit supprimée.
Si nous voulons écraser tous les fichiers du répertoire de destination, vous pouvez utiliser la commande "oui" pour répondre à toutes les questions par un "y". "y" est une valeur par défaut, il n'est donc pas nécessaire de la spécifier.
Si nous voulons éviter d'écraser l'un des fichiers dans le répertoire de destination, vous pouvez utiliser la commande "oui" pour répondre à toutes les questions par un non "n".
Utilisez "man yes" pour plus d'informations sur la commande "yes".
la source