【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おすすめ入門書7選
更新日 : 2020年7月30日

【完全保存版】Linux入門サイトおすすめ7選
更新日 : 2019年9月11日

まとめ

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

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

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

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

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

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら