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

cp -rオプションの使い方|-Rと同じくディレクトリを再帰的にコピーする方法を初心者向けに解説!

cp -rオプション|-Rと同じくディレクトリを再帰的にコピーする
cp -rオプション|-Rと同じくディレクトリを再帰的にコピーする

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

生徒

「Linuxでフォルダごとコピーしたいんですが、普通のcpコマンドじゃうまくいかないんです…」

先生

「フォルダをまるごとコピーしたいなら、-rオプションを使う必要がありますよ。」

生徒

「-rってなんですか?それって安全なんですか?」

先生

「大丈夫です。-rは “再帰的に” という意味で、フォルダの中身を全部たどってコピーしてくれる便利なオプションです。」

生徒

「それなら安心ですね!詳しく教えてください!」

1. cpコマンドとは?

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

cpコマンドは、Linuxでファイルやディレクトリをコピーするための基本的なコマンドです。コピーとは、元のデータをそのまま別の場所に複製することを意味します。

たとえば、「写真.jpg」というファイルを「バックアップ」というフォルダにコピーするには以下のようにします。


cp 写真.jpg バックアップ/

ただし、このままだとフォルダ(ディレクトリ)はコピーできません。なぜなら、フォルダにはたくさんのファイルやフォルダが入っていて、単純なコピーでは中身までコピーされないからです。

2. -rオプションとは?

2. -rオプションとは?
2. -rオプションとは?

-rオプションは、「再帰的(recursive)」にコピーするという意味を持ちます。つまり、指定したフォルダの中にあるすべてのファイルやサブフォルダも含めて、まるごとコピーしてくれます。

これは、-R(大文字のR)でも同じ動作をします。小文字と大文字、どちらでも問題ありません。

3. cp -rの使い方|フォルダごとコピーする

3. cp -rの使い方|フォルダごとコピーする
3. cp -rの使い方|フォルダごとコピーする

たとえば「images」というフォルダを「backup」フォルダの中にコピーしたい場合、次のように入力します。


cp -r images backup/

このコマンドは、imagesというフォルダとその中身すべてを、backupフォルダの中にコピーするという意味になります。

コマンドを実行すると、次のような結果になります。


ls backup
images

さらにその中を見てみましょう。


ls backup/images
cat.jpg  dog.jpg  logo.png

中身もそのままコピーされていることがわかります!

4. よくある間違い|-rをつけ忘れた場合

4. よくある間違い|-rをつけ忘れた場合
4. よくある間違い|-rをつけ忘れた場合

もし-rをつけずに、フォルダをコピーしようとするとエラーになります。


cp images backup/
cp: -r not specified; omitting directory 'images'

このエラーメッセージは、「-rを指定していないので、imagesフォルダはスキップします」という意味です。

初心者がよくつまずくポイントなので、しっかり覚えておきましょう!

5. cp -rと他のコマンドの違い

5. cp -rと他のコマンドの違い
5. cp -rと他のコマンドの違い

cp -rと似たような機能を持つコマンドもあります。違いを見てみましょう。

  • mv:移動(コピーして元を削除)します。コピーではなく移動したい場合に使用。
  • rsync -a:フォルダを効率的に同期・コピーします。大きなデータやリモートのコピーに向いています。
  • tar -cf:フォルダを圧縮ファイルとしてまとめて保存します。コピーというより「保存」目的。

ただし、cp -rは一番シンプルで、初心者が日常的に使いやすいコマンドです。

6. -rオプションとよく使う組み合わせ例

6. -rオプションとよく使う組み合わせ例
6. -rオプションとよく使う組み合わせ例

さらに便利に使うために、-rと他のオプションを組み合わせることもあります。

  • -v(verbose): コピー中のファイル名を表示する
  • -u(update): 更新されたファイルのみコピーする

たとえば、フォルダ全体をコピーしつつ、進行状況を見たいときは以下のようにします。


cp -rv images backup/
'images/cat.jpg' -> 'backup/images/cat.jpg'
'images/dog.jpg' -> 'backup/images/dog.jpg'
'images/logo.png' -> 'backup/images/logo.png'

7. 補足:rは「recursive(再帰)」の略

7. 補足:rは「recursive(再帰)」の略
7. 補足:rは「recursive(再帰)」の略

recursive(再帰)という言葉は難しく聞こえるかもしれませんが、簡単に言えば「中の中の中までたどっていく」という意味です。

フォルダの中にさらにフォルダがある場合、それも含めてコピーしてくれるのが-rの働きです。

関連記事:
カテゴリの一覧へ
新着記事
touch --no-createオプションの使い方を完全ガイド!初心者でもわかるファイルの新規作成防止法
basenameのSUFFIX指定で拡張子を除いてファイル名を取得する方法を解説!初心者向けLinuxコマンド講座
mv -tオプションの使い方|移動先ディレクトリを先に指定する便利な方法
lsコマンドの-rオプション|逆順(降順)でファイルを並べる方法を初心者向けに解説!
人気記事
No.1
Java&Spring記事人気No1
cdコマンドとは?Linuxでディレクトリを移動する基本を初心者向けに解説
No.2
Java&Spring記事人気No2
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説
No.3
Java&Spring記事人気No3
rm -Rオプションとは?初心者でもわかる再帰的にディレクトリを削除する方法
No.4
Java&Spring記事人気No4
Linuxコマンドpwd --help解説|オプション一覧を表示して使い方を確認する方法