確認なしに既存のファイルをコピーしますか?


17

大量のファイルをコピーして上書きする必要があるため、次のコマンドを使用しました。

# cp -Rf * ../

しかし、同じ名前のファイルが宛先フォルダに存在するたびに、私はこの質問を受け取ります:

cp: overwrite `../ibdata1'? 

問題は、上書きされるファイルが約200個あることであり、Y then Enter200回押すことが正しい方法だとは思わない。

それで、それへの正しい方法は何ですか?

回答:


37

あなたは行うことができますyes | cp -rf myxx、またはあなたは、rootとしてそれを行う場合-あなたの.bashrcまたは.profileは最も近代的なシステムでは、ルートプロファイルにそれを行う、CPの-iへのCPの別名を持っています。

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


4
エイリアスをバイパスする方法を示すために+1。ブルートフォースソリューションのために-1に誘惑されました。
ヘネス

5
+!以下のためのyesパイプ機能-非常に便利!
アンドリューニュービー

14

RHELとCentOSが、誤ってファイルを上書きしたり削除したりすることを防ぐために、rootユーザーのエイリアスを設定することにより、初心者ユーザーを保護しようとしたことを知っていますか?

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

-iスイッチは、既存のファイルを修正または削除するときに確認を必要とするものです。エイリアスの展開はコマンドの実行前に行われるため、--force -f スイッチの使用でも確認が必要です。

/root/.bashrcファイルを編集することでエイリアスを永久に削除できます。セッションの期間中、unalias cp または単一のコマンドで次のいずれかを使用してエイリアスを削除できます。

  • フルパスを使用する /bin/cp
  • 引用符を使用する"cp"'cp'、コマンドを囲む
  • コマンドキーワードを使用します。例 command cp
  • コマンドをエスケープする \cp
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.