Wie kopiere oder verschiebe ich Dateien, ohne zum Überschreiben aufgefordert zu werden?


8

Was ich versucht habe:

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

Sie fragen mich immer, ob ich überschreiben möchte. Die Verwendung von mv funktioniert auch nicht. Also was soll ich tun?

Andere Dinge, die ich versucht habe:

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
Könnten Sie die Ausgabe von geben alias cp?
Raphael Ahrens

2
Auch type cpsowie ls -lauf einer der Zieldateien können nützliche Informationen bereitgestellt werden.
Ein Lebenslauf vom

cp ist Kopie. Okay, es kann ein Alias ​​sein. Also, was ist der Befehl?
user4951

Antworten:


13

cpscheint entweder auf etwas ausgerichtet zu sein, das Probleme verursacht, oder es ist eine Funktion. Sie können den Alias ​​/ die Funktion entfernen:

unalias cp
unset -f cp

Wenn Sie es jetzt lieber einfach überschreiben möchten, können Sie mit dem commandBefehl alle Alias- / Funktionsdefinitionen überschreiben:

command cp [...]

Wenn Sie dies lieber vollständig entfernen möchten, müssen Sie wahrscheinlich in Ihren Bash-Startdateien nachsehen.


3
\cpwird auch den Alias ​​vermeiden.
sendmoreinfo

Ja, du bist richtig which cp => alias cp='cp -i; /bin/cp. Danke Amazon!
Gerry

7

Verwenden Sie zum Erzwingen des Überschreibens ohne Aufforderung den Befehl mv und die Option "-f". Verwenden Sie man, um die Optionen anzuzeigen.

Mann mv:

   -f, --force
          do not prompt before overwriting

Beispiel:

mv -f test.tmp test.txt

1

Versuchen Sie es mit cp -rv / sourcefileordirectory / Destinationfolder


Ob das funktioniert? Was bedeutet -rv?
user4951

-rvbedeutet rekursiv und ausführlich. Dies sollte also die Dateien und Unterordner kopieren und den Fortschritt an das Terminal ausgeben.
JNat

1

Sie haben wahrscheinlich einen Alias ​​für cp. Sie können diesen Alias ​​überschreiben, indem Sie Folgendes tun:

\cp -f hello /home3

Dies hat den Vorteil, dass Sie Ihre Aliase-Einstellungen nicht ändern, da sie nur für diesen Aufruf überschrieben werden.


0

Einfach ausführen alias cp=cpund das Ziel wird überschrieben, ohne in dieser Sitzung danach zu fragen. Wenn Sie es als Standardverhalten speichern möchten, speichern Sie es in Ihrem ~/.bashrc.


-1

Sie können verwenden yes, die für diese Art von Dingen entwickelt wurde. yDiese Eingabeaufforderungen werden automatisch gedruckt und beantwortet:

yes | cp -f hello /home3
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.