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

cp -Rオプションでディレクトリを再帰的にコピーする方法!Linux初心者向けガイド

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

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

生徒

「Linuxでディレクトリごとコピーしたいんですが、cpコマンドだけじゃエラーになります…どうすればいいんですか?」

先生

「それは-Rオプションが必要ですね。cpはファイル単体のコピーはできますが、フォルダ(ディレクトリ)をコピーするには再帰的な処理が必要です。」

生徒

「再帰的ってなんだか難しそうですが、簡単にできますか?」

先生

「はい、cp -Rと書くだけで、フォルダの中身も全部まとめてコピーできますよ。詳しく説明しますね。」

1. cp -Rとは?

1. cp -Rとは?
1. cp -Rとは?

Linuxのcpコマンドに-Rオプションをつけることで、ディレクトリ(フォルダ)を再帰的(さいきてき)にコピーできます。

「再帰的」という言葉は難しく聞こえるかもしれませんが、簡単に言えば「中にあるものすべてを順番にコピーしていく」という意味です。

つまり、フォルダの中のファイルだけでなく、さらにその中にあるサブフォルダやファイルも、全部まとめてコピーすることができます。

2. 基本的な使い方

2. 基本的な使い方
2. 基本的な使い方

使い方はとてもシンプルです。コピーしたいディレクトリを指定し、そのままコピー先の場所を指定します。


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

たとえば、「project」フォルダを「backup_project」という名前でコピーしたい場合は、次のように入力します。


cp -R project backup_project

これで、「project」フォルダの中身すべてが「backup_project」にコピーされます。

3. コピー前とコピー後の確認

3. コピー前とコピー後の確認
3. コピー前とコピー後の確認

コピーされたか確認するには、lsコマンドを使ってフォルダの中身を見てみましょう。


ls -l project
drwxr-xr-x 2 user user 4096  9月 15 12:00 file1.txt
drwxr-xr-x 2 user user 4096  9月 15 12:00 file2.txt

cp -R project backup_project

ls -l backup_project
drwxr-xr-x 2 user user 4096  9月 15 12:00 file1.txt
drwxr-xr-x 2 user user 4096  9月 15 12:00 file2.txt

このように、フォルダごとコピーされていることがわかります。

4. よく使うオプションとの組み合わせ

4. よく使うオプションとの組み合わせ
4. よく使うオプションとの組み合わせ

-Rは他のオプションと組み合わせて使うことも多いです。

  • -v(verbose)… コピー中のファイル名を表示
  • -i(interactive)… 上書き確認をする

たとえば、次のように書くと安心です。


cp -Ri project backup_project

この例では、「project」フォルダをコピーしつつ、既にファイルがある場合は上書き確認してくれます。

5. cp -Rとcp -aの違い

5. cp -Rとcp -aの違い
5. cp -Rとcp -aの違い

-Rオプションはフォルダを再帰的にコピーしますが、属性(パーミッション・所有者・タイムスタンプ)までは保持しません

もし完全に同じ状態でコピーしたい場合は、-a(アーカイブ)オプションを使うと良いでしょう。


cp -a project backup_project

-aには-Rの機能も含まれているので、コピー内容が正確に再現されます。

6. ディレクトリの中が空でもコピーされる?

6. ディレクトリの中が空でもコピーされる?
6. ディレクトリの中が空でもコピーされる?

はい、cp -Rでは、たとえ中身が空でもフォルダ自体がちゃんとコピーされます。

たとえば、空の「empty_dir」というディレクトリをコピーすると、次のようになります。


cp -R empty_dir copied_empty_dir

ls copied_empty_dir
(表示なし)

中身はありませんが、空のフォルダ「copied_empty_dir」は作成されています。

7. 標準ユーザーでも使える?root権限は必要?

7. 標準ユーザーでも使える?root権限は必要?
7. 標準ユーザーでも使える?root権限は必要?

cp -Rは基本的に一般ユーザーでも自由に使えます。ただし、コピー元やコピー先に対してアクセス権があることが前提です。

もしアクセスできない場合は、ルート権限(管理者権限)が必要になります。その場合は、sudoを使って次のように実行します。


sudo cp -R /etc/sample_config /root/backup_config
関連記事:
カテゴリの一覧へ
新着記事
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解説|オプション一覧を表示して使い方を確認する方法