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

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の方が初心者には扱いやすいです。

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
cp --backupオプションの使い方|バックアップしながらファイルをコピーしよう
New2
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New3
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New4
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
Linuxのls -Rオプションを完全ガイド!初心者でもわかるディレクトリの階層表示方法
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説