868 Stimmen

Wie man cp zum Überschreiben ohne Bestätigung zwingt

Ich versuche, die cp und ein Überschreiben erzwingen.

Ich habe versucht cp -rf /foo/* /bar aber ich werde immer noch aufgefordert, jedes Überschreiben zu bestätigen.

21voto

Adam McCormick Punkte 1611

Ich stoße also häufig auf dieses Problem, weil ich cp als Aliasing für cp -iv und ich habe einen netten Trick gefunden. Es stellt sich heraus, dass während -i y -n heben beide frühere Überschreibungsanweisungen auf, -f nicht. Wenn Sie jedoch -nf wird die Möglichkeit hinzugefügt, die -i . Also:

cp -f /foo/* /bar  <-- Prompt
cp -nf /foo/* /bar <-- No Prompt

Ziemlich toll, oder? /necropost

4 Stimmen

Es überschreibt die Datei nicht, sondern unterdrückt nur die Meldung

0 Stimmen

@Herrgott wollen Sie damit sagen, dass -f kein Überschreiben erzwingt? Wenn ja, würde ich ein Problem mit den Berechtigungen erwarten. Der Sinn der OP war es, den Effekt der -i Richtlinie, die das Entfernen nicht interaktiv macht.

0 Stimmen

Ja, in meinem Fall funktioniert es nicht. *user@pc-1250* /tmp/ttt: cp -f -- a/* b/ cp: overwrite 'b/0'? . Wenn ich es aufrufe mit -nf er fragt nicht nach dem Überschreiben und überschreibt nicht (er kopiert nur fehlende Dateien)

20voto

Avseiytsev Dmitriy Punkte 1120

Standardmäßig cp hat Aliase zu cp -i . Sie können es überprüfen, indem Sie alias und Sie können einige sehen wie:

alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'

Um dieses Problem zu lösen, verwenden Sie einfach /bin/cp /from /to Befehl stattdessen cp /from /to

16voto

malcolm Punkte 419

Das ist für mich der einfachste Weg:

yes | cp source destination

10voto

sigeje Punkte 329

Können Sie auch diesen Befehl verwenden:

cp -ru /zzz/zzz/* /xxx/xxx

Die vorhandene Datei wird jedoch mit der neueren Datei aktualisiert.

10voto

Ich fand dies

'cp' -rf * /data/danalonso_testing/target/

Fuente: https://superuser.com/questions/358843/how-to-replace-all-the-contents-from-one-folder-with-another-one/358851

0 Stimmen

Danke, funktioniert mit ubuntu 21.10 cp -rf source/source_file.ext target/target_file.ext

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X