カテゴリ: Linuxコマンド集 更新日: 2025/12/11

cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説

cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本

先生と生徒の会話形式で理解しよう

生徒

「Linuxでファイルをコピーしたいんですが、どうやればいいですか?」

先生

「Linuxではcpというコマンドを使えば、簡単にコピーできますよ。」

生徒

「それってWindowsでいう『Ctrl+C』と同じですか?」

先生

「考え方は似ていますね。でも、Linuxではキーボードの操作ではなく、cpコマンドでコピー先を指定して実行します。具体的に見てみましょう!」

1. cpコマンドとは?

1. cpコマンドとは?
1. cpコマンドとは?

cpコマンドは、Linuxでファイルやディレクトリ(フォルダ)をコピーするための基本的なコマンドです。copyの略で、原本を残したまま、別の場所や名前で同じデータを複製できます。

たとえば、ある資料ファイルをコピーして別名で保存したいときや、他のフォルダに同じ内容を保存したいときに使います。

2. ファイルをコピーする基本の使い方

2. ファイルをコピーする基本の使い方
2. ファイルをコピーする基本の使い方

ファイルをコピーするには、次のような形式でcpコマンドを使います。


cp コピー元ファイル コピー先ファイル

たとえば、memo.txtというファイルをbackup.txtとしてコピーしたい場合は、以下のように入力します。


cp memo.txt backup.txt

このコマンドを実行すると、元のmemo.txtはそのままで、内容が同じbackup.txtが作られます。

3. ディレクトリをコピーするには?

3. ディレクトリをコピーするには?
3. ディレクトリをコピーするには?

ディレクトリ(フォルダ)をコピーするには、-r(もしくは--recursive)オプションを使います。このオプションは中にあるファイルやサブフォルダをすべてまとめてコピーするために必要です。


cp -r コピー元ディレクトリ コピー先ディレクトリ

例えば、projectというフォルダをproject_backupとしてコピーするには、次のようにします。


cp -r project project_backup

この操作により、project内のすべてのファイルとサブディレクトリがproject_backupに複製されます。

4. よく使うcpコマンドのオプション

4. よく使うcpコマンドのオプション
4. よく使うcpコマンドのオプション

cpコマンドには、いくつか便利なオプションがあります。よく使われるものを紹介します。

  • -r:ディレクトリを再帰的にコピー(必須)
  • -i:上書き時に確認メッセージを表示(安全)
  • -v:コピーしているファイル名を表示(進行がわかる)
  • -u:コピー先より新しいファイルだけコピー(更新のみ)
  • -p:タイムスタンプなどの情報を保持してコピー

たとえば、次のように使えば、安全に進行状況を見ながらディレクトリをコピーできます。


cp -riv photos photos_backup

5. 上書きの確認がない点に注意

5. 上書きの確認がない点に注意
5. 上書きの確認がない点に注意

Linuxのcpコマンドは、基本的に確認なしで上書きしてしまいます。大切なファイルを失わないためにも、-iオプションをつけて、削除や上書きの確認を行う習慣をつけましょう。


cp -i important.txt backup.txt
cp: overwrite 'backup.txt'?

このように聞かれたときに「y」を入力すれば上書きされます。

6. ワイルドカードを使って複数ファイルをコピー

6. ワイルドカードを使って複数ファイルをコピー
6. ワイルドカードを使って複数ファイルをコピー

複数のファイルをまとめてコピーしたいときは、ワイルドカード(*?を使うと便利です。

たとえば、拡張子が.jpgのファイルをすべてコピーするには、次のようにします。


cp *.jpg images/

これは「カレントディレクトリにあるすべてのjpg画像をimagesフォルダにコピーする」という意味になります。

7. cpとrsyncの違い

7. cpとrsyncの違い
7. cpとrsyncの違い

コピーに関連したコマンドとしてrsyncというものもありますが、cpは基本的なコピー、rsync差分コピー(変更された部分だけコピー)に適しています。

通常のファイルコピーやバックアップの入門としては、まずはcpコマンドを理解することが大切です。

まとめ

まとめ
まとめ

cpコマンドはLinuxのファイル操作の中でも特に使用頻度が高く、日常的な作業から開発環境の構築、バックアップ管理まで幅広く活用できる重要なコマンドです。記事で紹介したように、cpはファイルやディレクトリを複製するための基本的な手段であり、原本を残したまま必要な場所へコピーできる点が大きな魅力です。とくに複数ファイルの管理やフォルダ構造を維持したコピーを行う場合、ディレクトリの再帰コピーに必要な-rオプションや、安全に操作するための-iオプション、進行状況を確認できる-vオプションなど、自分の作業スタイルに合わせて柔軟に組み合わせられる点から、初心者にも扱いやすいコマンドとして知られています。

また、コピー先にすでにファイルが存在している場合は上書きされるため、Linuxに慣れないうちは誤操作で大切なファイルを失ってしまう可能性もあります。その対策として、-iオプションを用いることで事前確認を行い、安全性を高める方法も覚えておくと良いでしょう。さらに、ワイルドカード(*?)を活用することで、特定の拡張子を持つファイルをまとめてコピーしたり、整理されたディレクトリを一括で扱うことができるなど、効率的な作業につながる機能が豊富に備わっています。

cpコマンドの実践例で理解を深めよう

例えば、特定の拡張子を持つ画像ファイルをまとめてコピーしたい場合には次のように実行できます。


cp *.jpg images/

上記の例では、カレントディレクトリにあるすべての.jpgファイルをimagesフォルダにコピーしています。ワイルドカードを使ったファイル操作は、画像整理やログ管理など幅広い用途で役立つため、初心者のうちから慣れておくことが大切です。また、コピー中の状態を確認したければ-vオプションを追加すると、次のようにどのファイルが複製されたか画面に表示されます。


cp -v memo.txt backup.txt
'memo.txt' -> 'backup.txt'

このように進行状況を確認しながら操作できることで、トラブル発生時にも原因を追いやすくなり、より安心して作業を進めることができます。ディレクトリごとコピーしたい場合には、必ず-rを付けて実行する必要があります。もし付け忘れると、エラーになったり、意図しない動作につながる可能性があるため注意しましょう。

ディレクトリコピーの例

プロジェクトフォルダをまるごとバックアップするときは次のようにします。


cp -r project project_backup

この操作によって、フォルダ内のファイルやサブフォルダを含めて完全なコピーが作成されます。開発作業の途中で安心してバックアップを取りたいときには欠かせない方法です。

さらに、コピー済みのファイルと比較して新しいものだけをコピーする-uオプションや、タイムスタンプや権限を維持したままコピーする-pオプションを使うことで、目的に応じた高度なファイル管理が可能になります。こうした機能を知ることで、日々の作業効率は大きく向上します。

先生と生徒の振り返り会話

生徒:「cpって思っていたより奥が深いですね。ファイルだけじゃなくてフォルダもコピーできるのは便利です!」

先生:「その通りですよ。特に-rオプションはディレクトリコピーの基本なので覚えておきましょう。」

生徒:「上書きされるのが怖いときは-iを使えば確認できるんですよね?」

先生:「そうです。大切なファイルを守りたいときは必ず使いましょう。逆に、作業効率を上げたいときには-vで進行確認するのも良い方法です。」

生徒:「ワイルドカードでまとめてコピーできるのも助かります。画像整理が一気に楽になりそうです。」

先生:「しっかり理解できていますね。cpコマンドはLinuxの基礎ですが、使いこなすことでファイル管理がとても快適になりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Linuxでcpコマンドとは何ですか?

cpコマンドは、Linuxでファイルやディレクトリ(フォルダ)をコピーするための基本的なコマンドです。原本をそのままにして別名や別の場所に複製できます。copyの略で、初心者がLinuxのファイル操作を学ぶ上で必須のコマンドです。
関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
New4
ファイル・ディレクトリ操作
touch --referenceオプションの使い方を完全ガイド!初心者でもわかるタイムスタンプのコピー方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
Linuxのls --full-timeオプションを完全ガイド!初心者でもわかるタイムスタンプのフル表示方法