私が試したこと:
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
彼らはいつも私に保証したいと尋ねます。 mvを使用しても機能しません。ではどうすればいいですか?
私が試した他のもの:
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]#
答え1
要求せずに強制的にオーバーライドするには、次のコマンドを使用する必要があります。MVオプション「-f」を使用するには、manを使用してオプションを確認してください。
男性MV:
-f, --force
do not prompt before overwriting
例:
mv -f test.tmp test.txt
答え2
cp
問題を引き起こしているもののエイリアスまたは関数のようです。エイリアス/関数を削除できます。
unalias cp
unset -f cp
今すぐ上書きするには、command
次のコマンドを使用してエイリアス/関数定義を上書きできます。
command cp [...]
完全に削除するには、bashの起動ファイルを確認することをお勧めします。
答え3
cpのエイリアスがあるかもしれません。次のようにして、このエイリアスをオーバーライドできます。
\cp -f hello /home3
これは、この呼び出しに対して上書きするだけでエイリアス設定を変更しないという利点があります。
答え4
を使用できますyes
。これはこの種の作業のために設計されています。y
次のメッセージを自動的に印刷して応答します。
yes | cp -f hello /home3