mv --backupオプションの使い方|バックアップを作成しながら安全に移動する方法
生徒
「mvコマンドでファイルを移動したら、もともとあったファイルが消えちゃいました…」
先生
「それは上書きされてしまったからだね。でも--backupオプションを使えば、古いファイルをバックアップとして残すことができるよ。」
生徒
「バックアップが自動でできるんですか?安心ですね!どうやって使えばいいんですか?」
先生
「それじゃあ、mv --backupの使い方をわかりやすく解説していこう!」
1. mvコマンドとは?
mvコマンドは、LinuxやmacOSなどのターミナルで利用される、ファイル操作の基本中の基本となるコマンドです。名称の由来は「move(移動する)」からきており、主に「ファイルの移動」と「ファイル名の変更(リネーム)」という2つの役割を持っています。
パソコンのデスクトップで、マウスを使ってアイコンを別のフォルダへドラッグ&ドロップしたり、右クリックして名前を変えたりする操作を、コマンドひとつで実行できるのがこのmvコマンドです。
基本的な使い方のイメージ
プログラミング未経験の方でも分かりやすいように、具体的な例を見てみましょう。例えば、「hello.txt」というファイルを「Documents」という名前のフォルダの中に移動したい場合は、次のように入力します。
mv hello.txt Documents/
ls Documents/
hello.txt
このように、直感的に操作できる非常に便利なコマンドですが、初心者の方が最も注意すべき「落とし穴」があります。
ここが注意ポイント!
mvコマンドは、移動先に同じ名前のファイルが既に存在している場合、警告なしに古いファイルを上書きして消し去ってしまいます。一度上書きされて消えたファイルは、Windowsの「ゴミ箱」のように簡単には元に戻せません。
この「うっかり上書き」という重大なミスを防ぎ、安全に作業するために欠かせないのが、今回詳しく解説する--backupオプションなのです。
2. --backupオプションとは?
--backupオプションをつけると、mvコマンドでファイルを移動する際に、すでにあるファイルを自動でバックアップとして保存してくれます。
上書きされるはずのファイルが、「~」がついたバックアップファイルとして残るため、万が一の時も安心です。
3. mv --backupの基本的な使い方
次のように--backupオプションをつけてファイルを移動してみましょう。
mv --backup data.txt archive/data.txt
このとき、archive/data.txtがすでに存在していた場合、古いファイルはarchive/data.txt~という名前で残されます。
4. 実行例を見てみよう
実際にファイルが上書きされる場面での動きを確認してみましょう。
ls archive
data.txt
mv --backup data.txt archive/
ls archive
data.txt data.txt~
このように、元のdata.txtがdata.txt~としてバックアップされ、最新のファイルが上書きされます。
5. --backup=numberedやexistingとの違い
--backupオプションには、より細かい指定ができるモードもあります。
--backup=numbered:~の代わりに数字でバックアップ(例:file.txt.~1~)--backup=existing:既存のバックアップ方式に合わせて処理
より安全に履歴を残したい場合は--backup=numberedが便利です。
mv --backup=numbered file.txt backup/
6. 他のオプションとの組み合わせ例
--backupオプションは、他のオプションと組み合わせることでより効果的に使えます。
-v:処理内容を表示-t:移動先を先に指定
例えば、次のように使えば、移動先を明示しながら処理内容も確認できます。
mv -v --backup -t backup documents/report.txt
'report.txt' -> 'backup/report.txt'
7. バックアップファイルの扱いに注意
作成されたバックアップファイル(例:file.txt~)は、自動で削除されることはありません。不要になった場合は、自分で削除する必要があります。
また、複数回上書きすると、バックアップファイルがどんどん増えるので、定期的に整理するようにしましょう。
8. mv --backupはどんな場面で使う?
主に次のような場面で--backupは役立ちます。
- 編集作業中のファイルを安全に上書きしたいとき
- 複数人で共有するディレクトリにファイルを移動する場合
- ログや設定ファイルなど、消えて困るファイルを扱うとき
安全第一の操作を意識するなら、mv --backupは非常に心強い味方になります。