カテゴリ: Linuxコマンド集 更新日: 2026/05/15

cp --backupオプションの使い方|バックアップしながらファイルをコピーしよう

cp --backupオプション|バックアップを作成しながらコピーする
cp --backupオプション|バックアップを作成しながらコピーする

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

生徒

「Linuxでファイルをコピーするときに、元のファイルを上書きしちゃいそうで心配です……。安全にコピーする方法ってありますか?」

先生

「それなら、cpコマンドの--backupオプションを使うのがおすすめです。コピー先に同じ名前のファイルがあっても、自動的にバックアップを作ってくれますよ。」

生徒

「バックアップって、コピー前のファイルを残してくれるってことですか?」

先生

「そうです!元のファイルを消さずに、コピーを安全に行いたいときにとても便利ですよ。詳しく見てみましょう!」

1. cpコマンドとは?

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

cpコマンドは、Linuxで「ファイル」や「ディレクトリ」をコピーするときに使う基本コマンドです。Windowsでいう「コピー&ペースト」のようなものですね。

例えば、document.txtというファイルをコピーして、document_backup.txtという名前にする場合は以下のように書きます。


cp document.txt document_backup.txt

ただし、コピー先にすでに同じ名前のファイルがあると、そのファイルは上書きされて消えてしまいます。このときに活躍するのが--backupオプションです!

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

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

--backupオプションは、コピー先に同名のファイルがある場合に、自動的に元のファイルをバックアップしてくれる機能です。

バックアップされたファイルは、通常「~(チルダ)」がファイル名の末尾に付く形式になります。

例として、次のように実行すると……


cp --backup memo.txt folder/

もしfolder/memo.txtがすでに存在していれば、それはmemo.txt~として保存され、新しいmemo.txtがコピーされます。

コマンド実行後の状態は次のようになります。


ls folder/
memo.txt  memo.txt~

3. 実行例で動作を確認しよう

3. 実行例で動作を確認しよう
3. 実行例で動作を確認しよう

まず、テスト用のファイルを2つ作成します。


echo "元の内容" > file.txt
mkdir backup_test
echo "古い内容" > backup_test/file.txt

この状態で--backupオプションを使ってコピーしてみましょう。


cp --backup file.txt backup_test/

すると、以下のようにバックアップファイルが作成されます。


ls backup_test/
file.txt  file.txt~

file.txt~が元の内容を保存してくれているので、上書きされても安心ですね!

4. バックアップの種類を指定する(-bと--suffix)

4. バックアップの種類を指定する(-bと--suffix)
4. バックアップの種類を指定する(-bと--suffix)

--backupの略として-bも使えます。また、バックアップファイルの末尾に付ける文字をカスタマイズするには--suffixを使います。

例えば、末尾に.bakを付けたい場合は以下のようにします。


cp -b --suffix=.bak file.txt backup_test/

実行後はこんな感じになります。


ls backup_test/
file.txt  file.txt.bak

5. --backup=numberedで連番のバックアップを作る

5. --backup=numberedで連番のバックアップを作る
5. --backup=numberedで連番のバックアップを作る

--backupオプションは、以下のように動作のモードを指定できます。

  • --backup=none(デフォルト):バックアップなし
  • --backup=numbered:連番付きのバックアップ(例:file.txt.~1~)
  • --backup=existing:すでに連番が使われていれば、それに従う
  • --backup=simple:チルダ(~)を付ける(通常の動作)

連番でバックアップを取りたいときは、以下のように実行します。


cp --backup=numbered file.txt backup_test/

2回コピーすれば……


ls backup_test/
file.txt  file.txt.~1~

さらにコピーすると、


ls backup_test/
file.txt  file.txt.~1~  file.txt.~2~

このように、連番でどんどんバックアップされていくのでとても便利です!

6. --backupと他のオプションの組み合わせ例

6. --backupと他のオプションの組み合わせ例
6. --backupと他のオプションの組み合わせ例

-i(確認)や-v(詳細表示)と組み合わせて使うと、より安全で視覚的にもわかりやすくなります。

例えば、コピー前に確認しつつ、バックアップを作る場合はこうです。


cp -ibv file.txt backup_test/

-iで「上書きしてもいいですか?」と聞かれ、-vで「何をコピーしたか」が表示されます。

7. cpとrsyncの違いにも注意しよう

7. cpとrsyncの違いにも注意しよう
7. cpとrsyncの違いにも注意しよう

cpはシンプルで使いやすいですが、複雑なコピーや差分コピーをしたいときはrsyncというコマンドの方が適しています。

しかし、--backupオプションのように「簡単にバックアップを取りながらコピー」したい場合は、cpの方が初心者には扱いやすいです。

まとめ

まとめ
まとめ

ここまで、Linuxのcpコマンドにおける--backupオプションの使い方を、基本から応用まで順番に見てきました。 ファイルコピーは日常的によく使う操作ですが、実は「うっかり上書きしてしまった」「元の内容を失ってしまった」という失敗が起こりやすいポイントでもあります。 そのような場面で役立つのが、今回学んだバックアップを取りながら安全にコピーする方法です。

cpコマンドは、Linux初心者でも最初に覚える重要な基本コマンドの一つです。 単純にファイルやディレクトリをコピーするだけであれば、cpの基本構文だけでも十分ですが、 実務や学習を続けていくと「既存ファイルがある状態でコピーしたい」「元の状態を残しておきたい」という状況に必ず直面します。 そうしたときに--backupオプションを知っているかどうかで、安全性と作業効率は大きく変わります。

--backupオプションを指定すると、コピー先に同名ファイルが存在していても、上書きされる前のファイルを自動的に保存してくれます。 デフォルトではチルダが付いたファイル名でバックアップが作成されるため、特別な設定をしなくてもすぐに利用できるのが特徴です。 さらに、--suffixを使えば拡張子を自由に変更でき、--backup=numberedを指定すれば連番付きで履歴を残すこともできます。

実際の作業では、次のように「どんなファイルが存在しているか」を確認しながら操作することが大切です。 例えば、コピー前後でディレクトリの中身を確認することで、バックアップファイルが正しく作成されているかを目で見て把握できます。


ls backup_test/
file.txt  file.txt~

このように表示されていれば、元のファイルがfile.txt~として残っており、新しいファイルが安全にコピーされていることが分かります。 Linuxコマンドは「実行して終わり」ではなく、結果を確認しながら進めることで理解が深まります。

また、-i-vといったオプションと組み合わせることで、確認メッセージを表示したり、処理内容を分かりやすく表示したりできます。 特に初心者のうちは、-iや-vを付けて実行することで、どのファイルがどこへコピーされたのかを把握しやすくなります。 安全性を重視する場面では、cp --backup とこれらのオプションを組み合わせる習慣を付けておくと安心です。

今回の記事を通して、cpコマンドは単なるコピー機能だけでなく、工夫次第で簡易的なバックアップツールとしても使えることが分かったと思います。 rsyncのような高機能なコマンドを使う前段階として、まずはcpのオプションをしっかり理解しておくことが、 Linux操作に慣れるための近道になります。

先生と生徒の振り返り会話

生徒

「cpコマンドって、ただコピーするだけだと思っていましたけど、--backupを使うと安心感が全然違いますね。 うっかり上書きしても、元のファイルが残っているのは心強いです。」

先生

「そうですね。Linuxでは小さな操作ミスが大きなトラブルにつながることもあります。 だからこそ、最初からバックアップを意識したコマンド操作を身に付けることが大切です。」

生徒

「--suffixや--backup=numberedを使えば、履歴も残せるので、設定ファイルを触るときにも使えそうですね。」

先生

「その通りです。設定変更や検証作業では、元に戻せる状態を作っておくことが基本です。 cp --backupを自然に使えるようになれば、Linux操作が一段レベルアップしたと言えますよ。」

生徒

「これからは、何かコピーするときは--backupを付けるクセを付けていきます!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Linuxのcpコマンドとは何ですか?初心者でもわかるファイルコピーの基本を教えてください

cpコマンドはLinuxでファイルやディレクトリをコピーするための基本コマンドで、Windowsのコピー&ペーストと同じ役割を持ちます。初心者でも簡単に使えるため、Linuxコマンド入門として最初に覚えるべき重要な操作です。
関連記事:
カテゴリの一覧へ
新着記事
New1
圧縮・アーカイブ
bunzip2 -fオプションの使い方を完全ガイド!Linuxで圧縮ファイルを強制上書きする方法
New2
テキスト・データ処理
headコマンドとは?Linuxでファイルの先頭部分を表示する基本
New3
Linuxコマンドの基本
Linuxのパスの基本!絶対パスと相対パスの違いを初心者向けにやさしく解説
New4
ディスクとファイルシステム管理
mountコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイルシステムマウント方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
圧縮・アーカイブ
tarコマンドの使い方を完全ガイド!初心者でもわかるLinuxのアーカイブ作成と解凍の基本