ファイルを上書きすることなくファイルをコピーまたは移動するにはどうすればよいですか?

ファイルを上書きすることなくファイルをコピーまたは移動するにはどうすればよいですか?

私が試したこと:

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

関連情報