Linuxでファイルやディレクトリをコピーするにはcpコマンドが便利です。
この記事では、
- そもそもcpとは
- cpの基本的な使い方
- cpで使用できるオプション
などについて解説していきます。
cpの使い方について初心者でも理解できるようにわかりやすく解説しますので、ぜひ参考にしてください!
cpとは
「cp」コマンドは、ファイルやディレクトリをコピーするときに使用するコマンドです。
cpは以下のように記述します。
$ コピー元ファイル名 コピー先ファイル名
- 1番目の引数にはコピー元であるファイル名を指定
- 2番目の引数にはコピー先のファイル名を指定
次項ではcpコマンドの基本的な使い方について見ていきましょう。
cpの基本的な使い方
ここでは、「cp」コマンドの基本について解説していきます。
ファイルをコピーする
cpコマンドは前述したように「cp コピー元ファイル名 コピー先ファイル名」でコマンドを実行します。
たとえば、samurai1.txtというファイルを、samurai2.txtという名前でコピーしたい場合は、以下のように記述します。
$ cp samurai1.txt samurai2.txt
実行結果:
cpコマンドを実行し、lsコマンドで確認すると、samurai2.txtのファイルが作成されていることがわかりますね!
また、cpコマンドはディレクトリを指定することで別のディレクトリにファイルをコピーすることができます。
以下の例では/tmpにある「samurai1.txt」を、「/tmp/samurai_dir」にコピーしています。
$ cp /tmp/samurai1.txt /tmp/samurai_dir/samurai2.txt
実行結果:
この例ではコピー元ファイルをディレクトリから指定し、コピーするファイルを別のディレクトリを指定してコピーを実行しています。
lsコマンドで確認すると、samurai2.txtのファイルが作成されていることがわかりますね!
複数のファイルをコピーする
引数に複数のファイル名を指定することで、複数ファイルをコピーすることができます。
複数ファイルをコピーする場合は、以下のように記述します。
$ コピー元ファイル名-1 [コピー元ファイル名-2・・・] コピー先ディレクトリ名
たとえば、「samurai1.txt」と「samurai2.txt」の複数ファイルを別のディレクトリにコピーする場合は以下のように記述します。
$ cp samurai1.txt samurai2.txt samurai_dir/
実行結果:
このように複数ファイルがコピーされることがわかりますね!
また、ファイルの名称が一部一致しているファイルを纏めてコピーしたい場合は、*(ワイルドカート)を使用すれば便利です。
以下に*(ワイルドカート)を使用してファイルを纏めてコピーする方法を紹介します。
$ cp samurai*txt samurai_dir/
実行結果:
cpのオプション
ここでは、cpコマンドでよく使われるオプションについて紹介します。
オプション | 説明 |
---|---|
-a | ファイルモード・所有者情報、属性などをできるかぎりコピーする |
-f | コピー先ファイルに同じファイル名が合った場合、警告なしでコピーする |
-i | すでに同じファイルがある場合、ファイルの上書き確認を行う |
-p | 元ファイルのモードや所有者情報、タイムスタンプなどをコピー先ファイルにコピー |
-r | ディレクトリをコピーする。配下にサブディレクトリがある場合は、そのディレクトリごとコピーされる |
-v | コピーの詳細な情報が表示される |
-rでディレクトリをコピーする
ファイルではなく、ディレクトリをコピーしたい場合は「-r」オプションを使用します。
以下にディレクトリ「samurai_dir」を「samurai_dir_2」としてコピーする方法を記述します。
$ cp -r samurai_dir/ samurai_dir_2
実行結果:
このようにディレクトリの中身までコピーされていることがわかりますね!
なお、コピーするディレクトリにサブディレクトリがある場合は、サブディレクトリごとコピーされます。
-pで構成情報をそのままコピーする
コピー先の日付などの構成情報をそのままコピーしたい場合は「-p」コマンドを使用します。
「-p」コマンドは以下のように記述します。
$ cp -p コピー元ファイル名 コピー先ファイル名
通常のcpコマンドではコピーされたファイルは、コピーされたファイルの作成日時がcpコマンド実行時の時間となってしまいます。
そのため、コピー元とコピー先のファイルの日時や情報を合わせたい場合は「-p」オプションを付けるようにしましょう。
Linuxについてもっと知りたい方へ
そもそもLinuxについて、
「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」
といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!
まとめ
ここでは、Linuxのcpコマンドについて、
- ファイルをコピーする方法
- 複数のファイルをコピーする方法
- よく使われるオプション
などについて解説しました。
cpコマンドは実際によく使われますので、この機会に使い方をよく理解しておきましょう。
cpコマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。