Linux – cpコマンドの使い方 – ファイル/ディレクトリのコピー
cpコマンドは、Linuxでファイルやディレクトリをコピーするためのコマンドです。
基本的な使い方は「cp [オプション] コピー元 コピー先」です。
ファイルをコピーする場合、単純に cp file1 file2
とするとfile1をfile2にコピーします。
ディレクトリをコピーする場合は、オプション -r
(再帰的コピー)を使用し、 cp -r dir1 dir2
とします。
オプション -i
は上書き確認、 -v
は詳細表示を行います。
cpコマンドとは
cp
コマンドは、LinuxやUnix系のオペレーティングシステムで使用されるファイルコピーのためのコマンドです。
このコマンドを使用することで、指定したファイルやディレクトリを別の場所にコピーすることができます。
cp
は copy
の略で、非常にシンプルながらも強力な機能を持っています。
主な特徴
- ファイルのコピー: 単一または複数のファイルを指定した場所にコピーできます。
- ディレクトリのコピー: ディレクトリ全体を再帰的にコピーすることも可能です。
- オプションの豊富さ: コピー時に上書き確認や進行状況の表示など、さまざまなオプションを指定できます。
cpコマンドの基本的な使い方
cp
コマンドの基本的な使い方は非常にシンプルです。
以下に、基本的な構文といくつかの使用例を示します。
基本構文
cp [オプション] コピー元 コピー先
コマンド | 説明 |
---|---|
cp file1.txt file2.txt | file1.txt をfile2.txt としてコピーします。 |
cp -i file1.txt file2.txt | 上書きする際に確認を求めます。 |
cp -r dir1/ dir2/ | dir1 ディレクトリをdir2 に再帰的にコピーします。 |
オプションの説明
-i
: 上書きする前に確認を求める。-r
: ディレクトリを再帰的にコピーする。-u
: コピー先が古い場合のみコピーする。
これらの基本的な使い方を理解することで、cp
コマンドを効果的に活用できるようになります。
cpコマンドの主なオプション
cp
コマンドには、ファイルやディレクトリをコピーする際に便利なオプションがいくつかあります。
これらのオプションを使うことで、コピーの挙動を細かく制御できます。
以下に主なオプションをまとめました。
オプション | 説明 |
---|---|
-i | 上書きする前に確認を求める。 |
-r | ディレクトリを再帰的にコピーする。 |
-u | コピー先が古い場合のみコピーする。 |
-v | コピーの進行状況を表示する。 |
-a | アーカイブモードで、ファイルの属性を保持しながらコピーする。 |
-f | 上書きする際に確認せず強制的にコピーする。 |
--preserve | ファイルの属性(タイムスタンプ、パーミッションなど)を保持する。 |
オプションの使用例
- 上書き確認:
cp -i file1.txt file2.txt
上書きする際に確認を求めます。
- 再帰的コピー:
cp -r dir1/ dir2/
dir1
ディレクトリをdir2
に再帰的にコピーします。
- 進行状況の表示:
cp -v file1.txt file2.txt
コピーの進行状況を表示します。
これらのオプションを活用することで、cp
コマンドをより効果的に使用できるようになります。
cpコマンドの応用的な使い方
cp
コマンドは基本的なファイルコピーだけでなく、さまざまな応用的な使い方が可能です。
以下にいくつかの応用例を紹介します。
1. 複数ファイルのコピー
複数のファイルを一度にコピーすることができます。
コピー先にはディレクトリを指定します。
cp file1.txt file2.txt file3.txt /path/to/destination/
このコマンドは、file1.txt
、file2.txt
、file3.txt
を指定したディレクトリにコピーします。
2. バックアップの作成
-b
オプションを使用すると、上書きする前にバックアップを作成できます。
cp -b file.txt /path/to/destination/
このコマンドは、file.txt
をコピーする際に、既存のファイルがあればそのバックアップを作成します。
3. タイムスタンプの保持
-p
オプションを使用すると、元のファイルのタイムスタンプを保持しながらコピーできます。
cp -p file.txt /path/to/destination/
このコマンドは、file.txt
をコピーし、元のファイルのタイムスタンプを保持します。
4. 特定の拡張子のファイルをコピー
シェルのワイルドカードを使用して、特定の拡張子を持つファイルを一度にコピーすることも可能です。
cp *.txt /path/to/destination/
このコマンドは、カレントディレクトリ内のすべての.txt
ファイルを指定したディレクトリにコピーします。
5. コピーの進行状況を表示しながら
pv
コマンドと組み合わせることで、コピーの進行状況を視覚的に確認できます。
pv file.txt | cp /path/to/destination/
このコマンドは、file.txt
をコピーしながら進行状況を表示します。
これらの応用的な使い方をマスターすることで、cp
コマンドをさらに効果的に活用できるようになります。
cpコマンドの使用例
cp
コマンドはさまざまなシチュエーションで使用されます。
以下に具体的な使用例をいくつか紹介します。
1. 単一ファイルのコピー
特定のファイルを別の名前でコピーする基本的な例です。
cp report.txt report_backup.txt
このコマンドは、report.txt
をreport_backup.txt
としてコピーします。
2. ディレクトリの再帰的コピー
ディレクトリ全体をコピーする場合、-r
オプションを使用します。
cp -r project/ project_backup/
このコマンドは、project
ディレクトリをproject_backup
として再帰的にコピーします。
3. 上書き確認付きのコピー
上書きする際に確認を求める場合、-i
オプションを使用します。
cp -i file.txt /path/to/destination/
このコマンドは、file.txt
を指定したディレクトリにコピーする際、既存のファイルがあれば上書きするか確認します。
4. 複数ファイルのコピー
複数のファイルを一度にコピーすることも可能です。
cp file1.txt file2.txt /path/to/destination/
このコマンドは、file1.txt
とfile2.txt
を指定したディレクトリにコピーします。
5. 特定の拡張子のファイルをコピー
特定の拡張子を持つファイルをまとめてコピーする例です。
cp *.jpg /path/to/destination/
このコマンドは、カレントディレクトリ内のすべての.jpg
ファイルを指定したディレクトリにコピーします。
6. ファイルの属性を保持してコピー
ファイルの属性を保持しながらコピーする場合、-p
オプションを使用します。
cp -p file.txt /path/to/destination/
このコマンドは、file.txt
をコピーし、元のファイルのタイムスタンプやパーミッションを保持します。
これらの使用例を参考にすることで、cp
コマンドをさまざまな状況で効果的に活用できるようになります。
cpコマンドの注意点
cp
コマンドを使用する際には、いくつかの注意点があります。
これらを理解しておくことで、意図しないデータの損失やエラーを防ぐことができます。
以下に主な注意点をまとめました。
1. 上書きのリスク
cp
コマンドは、デフォルトでは既存のファイルを上書きします。
上書きされると元のファイルは失われるため、重要なファイルをコピーする際は注意が必要です。
- 上書き確認を行うためには、
-i
オプションを使用することをお勧めします。
2. ディレクトリの再帰的コピー
- ディレクトリをコピーする際は、必ず
-r
オプションを指定する必要があります。
指定しないと、エラーメッセージが表示されます。
- 再帰的コピーを行うと、サブディレクトリやその中のファイルもすべてコピーされるため、コピー先のディレクトリの容量に注意が必要です。
3. パーミッションの変更
- コピーしたファイルのパーミッションが元のファイルと異なる場合があります。
特に、-p
オプションを使用しないと、元のファイルの属性(パーミッションやタイムスタンプなど)が保持されません。
- ファイルの属性を保持したい場合は、
-p
オプションを使用することをお勧めします。
4. シンボリックリンクの扱い
cp
コマンドは、シンボリックリンクをコピーする際に注意が必要です。
デフォルトでは、リンク先のファイルがコピーされます。
- シンボリックリンクをそのままコピーしたい場合は、
-P
オプションを使用します。
5. 大量のファイルコピー
- 大量のファイルをコピーする場合、処理に時間がかかることがあります。
進行状況を確認したい場合は、-v
オプションを使用するか、pv
コマンドと組み合わせると良いでしょう。
これらの注意点を理解し、適切にcp
コマンドを使用することで、データの損失やエラーを防ぎ、効率的にファイルやディレクトリを管理できるようになります。
まとめ
この記事では、cp
コマンドの基本的な使い方から応用的な利用法、注意点まで幅広く解説しました。
特に、ファイルやディレクトリを効率的にコピーするためのさまざまなオプションや使用例を紹介し、実際の操作に役立つ情報を提供しました。
これを機に、cp
コマンドを活用してファイル管理をよりスムーズに行ってみてください。