cp -iオプションの使い方|上書き前に確認する安全なコピー方法を初心者向けに解説!
生徒
「Linuxでファイルをコピーするときに、うっかり上書きしてしまいそうで怖いです…」
先生
「それなら、-iオプションを使うと安心ですよ。上書きする前に『本当にいいですか?』と聞いてくれるんです。」
生徒
「えっ、そんな便利な方法があるんですね!詳しく教えてください!」
先生
「もちろんです。それでは、実際にcp -iオプションの使い方を学んでいきましょう。」
1. cpコマンドとは?
cpコマンドは、Linuxでファイルやディレクトリ(フォルダ)をコピーするための基本的なコマンドです。たとえば、ファイルを別の場所に複製したいときに使います。
例えば「text.txt」というファイルを「backup」フォルダにコピーするには、次のように入力します。
cp text.txt backup/
この操作で、同じ内容のファイルがbackupフォルダに作られます。ただし、すでに同じ名前のファイルがあると、上書きされる可能性があるので注意が必要です。
2. 上書き事故を防ぐ-iオプションとは?
Linuxでは、コピー先に同名ファイルがあると、通常はそのまま上書きされます。誤って大事なファイルを消してしまうこともあります。
そこで登場するのが-iオプションです。「interactive(対話的)」の略で、上書きする前に確認をしてくれる安全な方法です。
以下のように使います。
cp -i text.txt backup/
このようにすると、コピー先に同じ名前のファイルがある場合、次のように聞かれます。
cp: overwrite 'backup/text.txt'?
ここで「y」と入力すれば上書き、「n」と入力すればキャンセルされます。
3. cp -iの動作を実際に確認してみよう
まず、違う内容の2つのファイルを作ってみましょう。
echo "元の内容" > backup/text.txt
echo "新しい内容" > text.txt
次に、-iを使ってコピーしてみます。
cp -i text.txt backup/
cp: overwrite 'backup/text.txt'?
このように確認メッセージが表示されるので、間違って上書きするリスクが減ります。
4. cp -iの「i」は何の略?
-iの「i」は「interactive(インタラクティブ)」の略で、ユーザーと対話しながら処理を進めることを意味します。
つまり、単にコピーするのではなく、「上書きしてもいいかどうか、あなたの判断を聞きますよ」という親切な動作をしてくれるのです。
5. cp -iと他のオプションの違い
cpコマンドには-f(force)という、確認なしで強制的に上書きするオプションもあります。
ですが、初心者には-iのほうが安心です。万が一の事故を未然に防げるからです。
-f:問答無用で上書き(上級者向け)-i:確認してから上書き(初心者向け)
この2つは同時に使うこともできますが、その場合は最後に指定した方が優先されます。
6. cp -iと組み合わせる便利なオプション
-iは、他のオプションと組み合わせることでさらに便利になります。
-v(verbose):コピーするファイル名を表示-r(recursive):フォルダごとコピー
たとえば、フォルダをコピーしつつ、上書き確認と進行状況も表示したい場合は、次のようにします。
cp -irv myphotos/ backup/
これで、上書き確認しながら安全にフォルダ全体をコピーすることができます。
7. cp -iを使うときのポイント
cp -iはとても便利ですが、次のような場面で特に役立ちます。
- バックアップフォルダにうっかり上書きしたくないとき
- 複数のファイルを一気にコピーするとき
- 大事な設定ファイルを上書きしたくないとき
操作ミスによるファイルの消失は、初心者がLinuxを学ぶ上で最もつらい経験です。-iオプションを使うことで、そのリスクをぐっと減らすことができます。