ウェブサイト検索

確認なしで 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

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

yes | cp -r bin test

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

\cp -r bin test

あるいは、現在のセッションのcp エイリアスウナリアスを付けてから、 非対話モードでcp コマンドを実行することもできます。

unalias cp
cp -r bin test

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

man cp

ご質問がある場合は、以下のフィードバック フォームからお問い合わせください。