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]#
user4951
quelle
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.

Chris Down
quelle
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
sinkmanu
quelle
1

Versuchen Sie es mit cp -rv / sourcefileordirectory / Destinationfolder

Rockhound
quelle
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.

Niglesien
quelle
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.

user2516278
quelle
-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
Deji Kadri
quelle