cp・mv・rmの使い方 - Linuxファイル操作の基本

cp・mv・rmの使い方 - Linuxファイル操作の基本

この記事でわかること

  • cp(コピー)・mv(移動・リネーム)・rm(削除)の基本的な使い方がわかる
  • -i オプションで上書き・削除事故を防ぐ習慣が身につく
  • rm にはゴミ箱がないため、安全に操作するポイントを理解できる

はじめに

結論: ファイルのコピーで上書き事故が起きた場面から安全なファイル操作の考え方を一緒に学ぶ。

リナ: ライニー先輩、ファイルをコピーしようとしたら、なんか上書きしちゃったみたいで...
ライニー先輩: あらら、それは焦るよね。Linuxのファイル操作は便利だけど、ちょっとしたミスで大事なファイルを消しちゃうこともあるんだ。
リナ: え、怖い...どうすれば安全に操作できるんですか?
ライニー先輩: 大丈夫、ポイントを押さえれば安全に使えるよ。今日はcpmvrmの3つのコマンドを、事故を防ぐ方法と一緒に覚えていこう。

練習環境を用意しよう

結論: mkdir -pで練習用ディレクトリを作り大事なファイルを誤操作しない専用環境を用意する。

ライニー先輩: まずは練習用のディレクトリを作ろう。大事なファイルを間違って消さないように、専用の場所で練習するのが基本だよ。
$ mkdir -p ~/practice/file-ops
$ cd ~/practice/file-ops
$ pwd
/home/user/practice/file-ops
リナ: mkdir -p-pって何ですか?
ライニー先輩: 途中のディレクトリがなくても、まとめて作ってくれるオプションだよ。practiceディレクトリがなくても、一気にpractice/file-opsを作れるんだ。

cp:ファイルをコピーする

結論: cpはコピー元・コピー先の順で-iで上書き確認し-rでディレクトリごとコピーする。

ライニー先輩: cpは「copy」の略で、ファイルをコピーするコマンドだよ。

基本の使い方

$ echo "Hello Linux" > original.txt
$ cp original.txt copy.txt
$ ls
copy.txt  original.txt
リナ: お、copy.txtができました!
ライニー先輩: cp コピー元 コピー先の順番だね。元のファイルはそのまま残るよ。

上書き事故を防ぐ:-i オプション

ライニー先輩: ここからが大事。cpは同じ名前のファイルがあると、確認なしで上書きしちゃうんだ。
リナ: え、それで私のファイルが...!
ライニー先輩: そう、だから-iオプションをつける習慣をつけよう。「interactive(対話的)」の略で、上書き前に確認してくれるよ。
$ cp -i original.txt copy.txt
cp: overwrite 'copy.txt'?
リナ: おお、聞いてくれた!yで上書き、nでキャンセルですね。
ライニー先輩: その通り。常にcp -iを使うのが安全だよ。

ディレクトリをコピーする:-r オプション

ライニー先輩: ディレクトリをコピーするときは-rオプションが必要だよ。「recursive(再帰的)」の略で、中身ごとコピーしてくれる。
$ mkdir mydir
$ touch mydir/file1.txt mydir/file2.txt
$ cp -r mydir mydir-backup
$ ls mydir-backup
file1.txt  file2.txt

cpコマンドのポイント

  • cp コピー元 コピー先 - 基本形
  • cp -i - 上書き確認(安全のため常に使う)
  • cp -r - ディレクトリをコピー

mv:ファイルを移動・リネームする

結論: mvは移動もリネームも同じコマンドで-iで上書き確認し元の場所からなくなる点に注意。

ライニー先輩: mvは「move」の略。ファイルの移動と名前変更、両方に使えるよ。

ファイル名を変更する

$ mv copy.txt renamed.txt
$ ls
mydir  mydir-backup  original.txt  renamed.txt
リナ: copy.txtrenamed.txtになりました!
ライニー先輩: mvは移動先がファイル名なら「リネーム」、ディレクトリなら「移動」になるんだ。

ファイルを移動する

$ mv renamed.txt mydir/
$ ls mydir
file1.txt  file2.txt  renamed.txt
リナ: renamed.txtmydirの中に移動しました。

上書き事故を防ぐ:-i オプション

ライニー先輩: mvcpと同じく、同名ファイルがあると上書きしちゃう。だから-iオプションをつけよう。
$ mv -i original.txt mydir/

mvの注意点

mvは「移動」なので、元の場所からファイルがなくなります。「消えた!」と焦る前に、移動先を確認しましょう。

mvコマンドのポイント

  • mv 元 先 - 移動またはリネーム
  • mv -i - 上書き確認(安全のため常に使う)
  • 移動先がディレクトリなら移動、ファイル名ならリネーム

rm:ファイルを削除する

結論: rmにはゴミ箱がないため必ず-iオプションで削除前に必ず確認するクセをつけておく。

ライニー先輩: rmは「remove」の略で、ファイルを削除するコマンドだよ。これが一番注意が必要
リナ: どうしてですか?
ライニー先輩: Linuxには「ゴミ箱」がないんだ。rmで消したファイルは、基本的に復元できない。
リナ: ひえっ...慎重にやります。

基本の使い方

$ touch delete-me.txt
$ ls
delete-me.txt  mydir  mydir-backup
$ rm delete-me.txt
$ ls
mydir  mydir-backup

削除前に確認:-i オプション

ライニー先輩: rmこそ-iオプションが大事。削除前に確認してくれるよ。
$ touch test.txt
$ rm -i test.txt
rm: remove regular empty file 'test.txt'?
リナ: yで削除、nでキャンセルですね。
ライニー先輩: うん。初心者のうちは常にrm -iを使おう

ディレクトリを削除する:-r オプション

$ rm -r mydir-backup
$ ls
mydir
リナ: ディレクトリも消えました。
ライニー先輩: -rは中身ごと削除するから、使う前にlsで中身を確認するのがおすすめだよ。

rmコマンドのポイント

  • rm ファイル名 - ファイルを削除
  • rm -i - 削除前に確認(常に使う)
  • rm -r - ディレクトリを中身ごと削除
  • rm -rfは使わない

ミニ課題

結論: cp -i・mv -i・rm -iを組み合わせた実践課題でファイル操作の安全な型を体で覚える。

ライニー先輩: じゃあ、今日学んだことを実際に試してみよう!

課題1:ファイルを安全にコピーしよう

やることmemo.txtというファイルを作成し、memo-backup.txtという名前でコピーしてください。上書き確認オプションをつけること。

ヒントを見る

echoでファイルを作成し、cp-iオプションを使ってコピーしよう。

解答例を見る
$ echo "大事なメモ" > memo.txt
$ cp -i memo.txt memo-backup.txt
$ ls
memo-backup.txt  memo.txt  mydir

課題2:ファイルを移動してリネームしよう

やることmemo.txtmydirディレクトリに移動し、さらにimportant.txtという名前に変更してください。

ヒントを見る

mvコマンドを2回使うか、移動とリネームを組み合わせて1回で行う方法もあるよ。

解答例を見る
$ mv -i memo.txt mydir/
$ mv -i mydir/memo.txt mydir/important.txt
$ ls mydir
file1.txt  file2.txt  important.txt  original.txt  renamed.txt

または1回で:

$ mv -i memo.txt mydir/important.txt

課題3:不要なファイルを安全に削除しよう

やることmemo-backup.txtを削除してください。削除前に確認が出るようにすること。

ヒントを見る

rm-iオプションを使おう。確認が出たらyで削除、nでキャンセルできるよ。

解答例を見る
$ rm -i memo-backup.txt
rm: remove regular file 'memo-backup.txt'? y
$ ls
mydir

振り返り

結論: -iオプションをcp・mv・rmすべてにつける習慣をつけると大半の事故を防げると確認する。

リナ: なるほど、-iオプションをつければ、上書きや削除の前に確認が出るんですね!
ライニー先輩: そう、それが一番大事なポイント。cp -imv -irm -iを習慣にすれば、ほとんどの事故は防げるよ。
リナ: あと、rmはゴミ箱がないから特に注意、ですね。
ライニー先輩: うん。操作前にlsで確認する習慣もつけると、さらに安全だね。

今日の3行まとめ

結論: cp・mv・rmそれぞれの役割と-iオプションの重要性を3行で整理して定着させる。

  1. cp -iでファイルをコピー、-rでディレクトリをコピー
  2. mv -iでファイルを移動・リネーム
  3. rm -iで削除(rm -rfは使わない)

次に読む

結論: 次は権限管理やファイル操作応用でchmod・head・tailなどのスキルを積み重ねる。