【Linuxコマンド】cpコマンドでファイルをコピーする方法

Linuxでファイルやディレクトリをコピーするにはcpコマンドが便利です。

この記事では、

  • そもそもcpとは
  • cpの基本的な使い方
  • cpで使用できるオプション

などについて解説していきます。

cpの使い方について初心者でも理解できるようにわかりやすく解説しますので、ぜひ参考にしてください!

目次

cpとは

shutterstock_713908165
「cp」コマンドは、ファイルやディレクトリをコピーするときに使用するコマンドです。

cpは以下のように記述します。

$ コピー元ファイル名 コピー先ファイル名

  • 1番目の引数にはコピー元であるファイル名を指定
  • 2番目の引数にはコピー先のファイル名を指定

次項ではcpコマンドの基本的な使い方について見ていきましょう。

cpの基本的な使い方

ここでは、「cp」コマンドの基本について解説していきます。

ファイルをコピーする

cpコマンドは前述したように「cp コピー元ファイル名 コピー先ファイル名」でコマンドを実行します。

たとえば、samurai1.txtというファイルを、samurai2.txtという名前でコピーしたい場合は、以下のように記述します。

$ cp samurai1.txt samurai2.txt

実行結果:

image_cp1

cpコマンドを実行し、lsコマンドで確認すると、samurai2.txtのファイルが作成されていることがわかりますね!

また、cpコマンドはディレクトリを指定することで別のディレクトリにファイルをコピーすることができます。

以下の例では/tmpにある「samurai1.txt」を、「/tmp/samurai_dir」にコピーしています。

$ cp /tmp/samurai1.txt /tmp/samurai_dir/samurai2.txt

実行結果:

image_cp2

この例ではコピー元ファイルをディレクトリから指定し、コピーするファイルを別のディレクトリを指定してコピーを実行しています。

lsコマンドで確認すると、samurai2.txtのファイルが作成されていることがわかりますね!

複数のファイルをコピーする

引数に複数のファイル名を指定することで、複数ファイルをコピーすることができます。

複数ファイルをコピーする場合は、以下のように記述します。

$ コピー元ファイル名-1 [コピー元ファイル名-2・・・] コピー先ディレクトリ名

たとえば、「samurai1.txt」と「samurai2.txt」の複数ファイルを別のディレクトリにコピーする場合は以下のように記述します。

$ cp samurai1.txt samurai2.txt samurai_dir/

実行結果:

image_cp3

このように複数ファイルがコピーされることがわかりますね!

また、ファイルの名称が一部一致しているファイルを纏めてコピーしたい場合は、*(ワイルドカート)を使用すれば便利です。

以下に*(ワイルドカート)を使用してファイルを纏めてコピーする方法を紹介します。

$ cp samurai*txt samurai_dir/

実行結果:

image_cp4

cpのオプション

ここでは、cpコマンドでよく使われるオプションについて紹介します。

オプション説明
-aファイルモード・所有者情報、属性などをできるかぎりコピーする
-fコピー先ファイルに同じファイル名が合った場合、警告なしでコピーする
-iすでに同じファイルがある場合、ファイルの上書き確認を行う
-p元ファイルのモードや所有者情報、タイムスタンプなどをコピー先ファイルにコピー
-rディレクトリをコピーする。配下にサブディレクトリがある場合は、そのディレクトリごとコピーされる
-vコピーの詳細な情報が表示される

-rでディレクトリをコピーする

ファイルではなく、ディレクトリをコピーしたい場合は「-r」オプションを使用します。

以下にディレクトリ「samurai_dir」を「samurai_dir_2」としてコピーする方法を記述します。

$ cp -r samurai_dir/ samurai_dir_2

実行結果:

image_cp5

このようにディレクトリの中身までコピーされていることがわかりますね!

なお、コピーするディレクトリにサブディレクトリがある場合は、サブディレクトリごとコピーされます。

-pで構成情報をそのままコピーする

コピー先の日付などの構成情報をそのままコピーしたい場合は「-p」コマンドを使用します。

「-p」コマンドは以下のように記述します。

$ cp -p コピー元ファイル名 コピー先ファイル名

通常のcpコマンドではコピーされたファイルは、コピーされたファイルの作成日時がcpコマンド実行時の時間となってしまいます。

そのため、コピー元とコピー先のファイルの日時や情報を合わせたい場合「-p」オプションを付けるようにしましょう。

Linuxについてもっと知りたい方へ

そもそもLinuxについて、

「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」

といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!



Linux入門者に必要な知識をすべて解説!おすすめサイトや本もご紹介
更新日:2024年3月29日

まとめ

ここでは、Linuxのcpコマンドについて、

  • ファイルをコピーする方法
  • 複数のファイルをコピーする方法
  • よく使われるオプション

などについて解説しました。

cpコマンドは実際によく使われますので、この機会に使い方をよく理解しておきましょう。

cpコマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次