確認せずにcpコマンドを強制的に上書きする方法


cpコマンド(コピーを表す)は、ファイルやディレクトリをコピーするために、Linuxやその他のUNIXライクなオペレーティングシステムで一般的に使用されるコマンドの1つです。このガイドでは、Linuxで確認せずにcpコマンドでコピー操作を強制的に上書きする方法を示します。

通常、cpコマンドを実行すると、図のように宛先ファイルまたはディレクトリが上書きされます。

# cp bin/git_pull_frontend.sh test/git_pull_frontend.sh

cpをインタラクティブモードで実行して、既存のファイルまたはディレクトリを上書きする前にプロンプトを表示するには、図のように -i フラグを使用します。

# cp -i bin/git_pull_frontend.sh project1/git_pull_frontend.sh

デフォルトでは、最新のLinuxディストリビューション、特にRed Hat Enterprise Linux(RHEL)ファミリーのディストリビューションには、ユーザーがcpコマンドを対話モードで実行できるようにするcpコマンドのエイリアスが付属しています。これは、DebianおよびUbuntuの派生物には当てはまらない場合があります。

すべてのデフォルトエイリアスを確認するには、図のようにaliasコマンドを実行します。

# alias

上のスクリーンショットで強調表示されているエイリアスは、コマンドを実行すると、デフォルトでインタラクティブモードで実行されることを示しています。 yes コマンドを使用した場合でも、シェルは上書きの確認を求めるプロンプトを表示します。

# yes | cp -r bin test

上書きを強制する最良の方法は、次の例に示すように、cpコマンドの前に円記号を使用することです。ここでは、 bin ディレクトリの内容を test ディレクトリにコピーしています。

# \cp -r bin test

または、現在のセッションのcpエイリアスのエイリアスを解除してから、非対話型モードでcpコマンドを実行することもできます。

# unalias cp
# cp -r bin test

詳細については、cpコマンドのマニュアルページを参照してください。

# man cp

ご不明な点がございましたら、下記のフィードバックフォームからお問い合わせください。