cpコマンドを使用して強制的に上書きしようとしています。
試しcp -rf /foo/* /barましたが、それでも各上書きを確認するように求められます。
cpコマンドを使用して強制的に上書きしようとしています。
試しcp -rf /foo/* /barましたが、それでも各上書きを確認するように求められます。
できますyes | cp -rf xxx yyyが、私の直感によると、 root として実行すると、.bashrcまたはto.profileのエイリアスがあり、ほとんどの最新システム (主に RH 派生) は root プロファイルに対してそれを実行します。cpcp -i
aliasコマンド プロンプトで実行して既存のエイリアスを確認するかwhich cp、cp.
エイリアスが定義されている場合、実行unalias cpすると現在のセッションでエイリアスが廃止されます。それ以外の場合は、シェルプロファイルから削除できます。
一時的にエイリアスをバイパスし、エイリアスのないバージョンのコマンドを使用するには、コマンドの前に を付けます\。\cp whatever
これはおそらく、cpすでに のようなものにエイリアスされていることが原因cp -iです。直接呼び出すcpとうまくいくはずです:
/bin/cp -rf /zzz/zzz/* /xxx/xxx
これを回避する別の方法は、次のyesコマンドを使用することです。
yes | cp -rf /zzz/zzz/* /xxx/xxx
他の回答のいくつかが述べているように、おそらくどこかでマップするエイリアスまたは類似のものを使用していcpますcp -i。コマンドの前にバックスラッシュを付けることで、エイリアスなしでコマンドを実行できます。あなたの場合、試してください
\cp -r /zzz/zzz/* /xxx/xxx
バックスラッシュは、呼び出したエイリアスを一時的に無効にしますcp。
おそらくどこかにエイリアスがあり、にマッピングcpされていcp -iます。デフォルト設定でcpは、上書きを求められないためです。.bashrcあなたの、あなた.profileなどをチェックしてください。
cp manpageを参照してください:-iパラメータが指定されている場合にのみ、cp上書きする前に実際にプロンプトが表示されます。
aliasこれは、次のコマンドで確認できます。
$ alias
alias cp='cp -i'
alias diff='diff -u'
....
エイリアスを未定義にするには、次を使用します。
$ unalias cp
他の回答が述べているように、これcpは が のエイリアスである場合に発生する可能性がありcp -iます。
\コマンドの前にa を追加して、cpエイリアスなしで使用できます。
\cp -fR source target
デフォルトで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
このコマンドも使用できます。
cp -ru /zzz/zzz/* /xxx/xxx
ただし、既存のファイルを新しいファイルで更新します。
cp通常、このようにエイリアスされます
alias cp='cp -i' # i.e. ask questions of overwriting
上書きしたいことが確実な場合は、これを使用します。
/bin/cp <arguments here> src dest
私はこれを見つけました
'cp' -rf * /data/danalonso_testing/target/
エイリアスなしでコマンドを呼び出す別の方法はcommand、bash のビルトインを使用することです。
command cp -rf /zzz/zzz/*