787

cpコマンドを使用して強制的に上書きしようとしています。

試しcp -rf /foo/* /barましたが、それでも各上書きを確認するように求められます。

4

17 に答える 17

1287

できますyes | cp -rf xxx yyyが、私の直感によると、 root として実行すると、.bashrcまたはto.profileのエイリアスがあり、ほとんどの最新システム (主に RH 派生) は root プロファイルに対してそれを実行します。cpcp -i

aliasコマンド プロンプトで実行して既存のエイリアスを確認するかwhich cpcp.

エイリアスが定義されている場合、実行unalias cpすると現在のセッションでエイリアスが廃止されます。それ以外の場合は、シェルプロファイルから削除できます。

一時的にエイリアスをバイパスし、エイリアスのないバージョンのコマンドを使用するには、コマンドの前に を付けます\\cp whatever

于 2011-12-13T11:20:39.130 に答える
379

これはおそらく、cpすでに のようなものにエイリアスされていることが原因cp -iです。直接呼び出すcpとうまくいくはずです:

/bin/cp -rf /zzz/zzz/* /xxx/xxx

これを回避する別の方法は、次のyesコマンドを使用することです。

yes | cp -rf /zzz/zzz/* /xxx/xxx
于 2011-12-13T11:20:41.487 に答える
144

他の回答のいくつかが述べているように、おそらくどこかでマップするエイリアスまたは類似のものを使用していcpますcp -i。コマンドの前にバックスラッシュを付けることで、エイリアスなしでコマンドを実行できます。あなたの場合、試してください

\cp -r /zzz/zzz/* /xxx/xxx

バックスラッシュは、呼び出したエイリアスを一時的に無効にしますcp

于 2011-12-13T11:30:28.220 に答える
81

おそらくどこかにエイリアスがあり、にマッピングcpされていcp -iます。デフォルト設定でcpは、上書きを求められないためです。.bashrcあなたの、あなた.profileなどをチェックしてください。

cp manpageを参照してください:-iパラメータが指定されている場合にのみ、cp上書きする前に実際にプロンプ​​トが表示されます。

aliasこれは、次のコマンドで確認できます。

$ alias
alias cp='cp -i'
alias diff='diff -u'
....

エイリアスを未定義にするには、次を使用します。

$ unalias cp
于 2011-12-13T11:19:56.543 に答える
60

他の回答が述べているように、これcpは が のエイリアスである場合に発生する可能性がありcp -iます。

\コマンドの前にa を追加して、cpエイリアスなしで使用できます。

\cp -fR source target
于 2016-07-29T02:19:26.127 に答える
20

デフォルトでcpは、 へのエイリアスがありcp -iます。確認して入力するaliasと、次のようなものが表示されます。

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'

この問題を解決するには、/bin/cp /from /to代わりにコマンドを使用してくださいcp /from /to

于 2013-05-13T07:05:45.777 に答える
9

このコマンドも使用できます。

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

ただし、既存のファイルを新しいファイルで更新します。

于 2014-05-19T09:28:16.277 に答える
9

cp通常、このようにエイリアスされます

alias cp='cp -i'   # i.e. ask questions of overwriting

上書きしたいことが確実な場合は、これを使用します。

/bin/cp <arguments here> src dest
于 2015-06-22T06:36:52.347 に答える
8

私はこれを見つけました

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

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

于 2018-11-13T13:59:24.913 に答える
6

エイリアスなしでコマンドを呼び出す別の方法はcommand、bash のビルトインを使用することです。

command cp -rf /zzz/zzz/*

于 2014-07-10T18:34:59.150 に答える