【Ubuntu】コピーcpコマンドの使い方についてわかりやすく解説



1. cpコマンドとは
cp
コマンドは、「copy」の略で、ファイルやディレクトリをコピーするために使用されます。コピー元とコピー先を指定するだけで、簡単にデータを複製できます。
1.1. 基本構文
cp [オプション] コピー元 コピー先
2. 基本的な使い方
2.1. 単一ファイルのコピー
次のコマンドで、source.txtというファイルをdestination.txtという名前に変更してコピーします。
cp source.txt destination.txt
これにより、source.txtの内容をそのままに、別名のファイルとして新しい場所や同じディレクトリ内に作成します。例えば、同じディレクトリ内でコピーを行う場合、オリジナルのファイルに変更を加えずにバックアップを作成したいときに便利です。
2.2. 複数ファイルのコピー
複数のファイルを一度にコピーしたい場合は、次のようにファイル名をスペースで区切って指定します。
cp file1.txt file2.txt file3.txt /path/to/destination/
複数のファイルを一度に指定のディレクトリにコピーします。
2.3. ワイルドカードを使用したコピー
多くのファイルを一度にコピーしたいとき、特定のパターンに一致するファイルをまとめて指定することもできます。例えば、次のコマンドでは、拡張子が.txtの全てのファイルを指定のディレクトリにコピーします。
cp *.txt /path/to/destination/
ワイルドカードを利用すると、現在のディレクトリ内の全ての.txt
ファイルを指定のディレクトリにコピーします。また、*.txtだけでなく、*や?などのワイルドカードを用いることで、特定のパターンに一致する任意のファイルを選んで処理することもできます。ワイルドカードを使いこなすと、効率的にファイル操作を行えるようになります。
3. ディレクトリのコピー
ディレクトリをコピーする場合は、-r
オプションが必要です。
cp -r source_directory destination_directory
source_directory
をその中の全てのファイルとサブディレクトリごとコピーします。

-r
オプションが必要。4. 主なオプションの紹介
4.1. i(–interactive)
上書きしようとする際に確認を求めます。
cp -i source.txt destination.txt
実際に確認してみます。
source.txt、destination.txtの内容はそれぞれ「source.txt content」「destination.txt content」とします。cp: overwrite ‘destination.txt’?と聞かれたときに何も答えず「Enter」を押すと、「destination.txt」の内容は変わりませんでした。しかし、yと答えた場合、「source.txt content」というsource.txtの内容に変わりました。

-i
オプションを使うと、上書きのときに確認してくれるんだよ。何かあったら安心だね!4.2. a(–archive)
-a(または –archive)オプションは、ディレクトリ全体を丸ごとコピーするために使用されます。このオプションを指定すると、ファイルの属性やシンボリックリンクを含めて、ディレクトリを丸ごとコピーします。
cp -a source_directory destination_directory
4.3. u(–update)
コピー先のファイルが存在しないか、コピー元より古い場合のみコピーします。
cp -u source.txt destination.txt
4.4. v(–verbose)
-v(または –verbose)オプションは、コマンドの実行内容を詳細に表示します。コピー中にどのファイルが処理されているかを確認することができるため、進捗状況や正しくコピーされたかどうかを知りたいときに役立ちます。
cp -v source.txt destination.txt