Linuxを触る人にとって、日常的に使うコマンド「cp」
cpコマンドについて、知っているけどオプションについてはあまりよく分かっていないという方もいるかもしれません。
今回は、「cp」コマンドについて、解説していきます。
cpコマンドとは
cpコマンドとは、その名の通り「copy」の略でLinuxシステムを操作する際、ファイルやディレクトリのコピーを行うために使われます。
cpコマンドの基本的な構文は以下のようにシンプルです。
cp [オプション] コピー元 コピー先
cpコマンドの基本的な使い方
cpコマンドの一般的な使い方は、ファイルを一つの場所から別の場所にコピーすることです。
例えば、以下のコマンドを実行すると、「file1.txt」の内容が「file2.txt」にコピーされます。もし「file2.txt」が存在しない場合は新しく作成され、存在していれば内容が上書きされます。
cp file1.txt file2.txt
ディレクトリのコピー
ディレクトリをコピーする場合、「-r」オプションを使用します。
このオプションを使うことによって、ディレクトリ内のすべてのファイルとサブディレクトリが新しい場所にコピーされます。
例えば、以下のコマンドを実行すると「directory1」とその中身全てが「directory2」にコピーされます。
cp -r directory1 directory2
オプションについて
先ほど説明した、「-r」コマンド以外のオプションについていくつか解説します。
「-i」オプション
既存のファイルを上書きする前にユーザーの確認をします。
例えば、以下のコマンドを実行する時、test.txtが既に存在する場合、上書きするかどうかを確認します。
cp -i source.txt test.txt
「-v」オプション
コピーされる各ファイルの詳細を表示します。
例えば、以下のコマンドを実行すると、コピーの進行状況が表示されます。
cp -v file1.txt file2.txt
「-u」オプション
コピー元ファイルが宛先ファイルより新しい場合のみ、ファイルをコピーします。
例えば、以下のコマンドを実行すると、new.txtがold.txtより古い場合にのみ、コピーが実行されます。
cp -u old.txt new.txt
「-b」オプション
同名のファイルが存在する場合、既存のファイルのバックアップを作成します。
例えば、以下のコマンドを実行すると、同名のファイルがbackup_folderに存在する場合、そのファイルのバックアップが作成されます。
cp -b file.txt backup_folder/
「-p」オプション
指定された属性(所有者、グループ、パーミッション(権限)、タイムスタンプなど)を保持したままコピーします。
例えば、以下のコマンドを実行すると、属性を保持したままfile2にコピーします。
cp -p file1 file2
要件に応じてこれらのオプションを組み合わせよう!
まとめ
今回は、「cp」コマンドについて解説しました。
cpコマンドはファイルやディレクトリのコピーを行うために使われます。
この記事を参考に、さまざまな場面でcpコマンドのオプションを活用してみてください!