cp・mv・rmの使い方 - Linuxファイル操作の基本
この記事でできるようになること
- cp・mv・rm でファイルをコピー・移動・削除できる
- -i オプションで上書きと削除の事故を防げる
- rm にゴミ箱がない理由を説明できる
前提知識(先に読むと理解しやすい記事)
この記事でわかること
cp(コピー)・mv(移動・リネーム)・rm(削除)の基本的な使い方がわかる-iオプションで上書き・削除事故を防ぐ習慣が身につくrmにはゴミ箱がないため、安全に操作するポイントを理解できる
先に知っておくこと:この記事の rm は、GUI の「ゴミ箱に入れる」とは違います。rm で消したファイルはゴミ箱に行きません。その場ですぐ完全に消えます。だからこの記事では、練習用のディレクトリファイルをまとめて整理する入れ物。Windows や macOS の「フォルダ」と同じもの。を作ってから試します。本サイトの仮想ターミナル入力したコマンドを解釈してコンピュータに実行させる対話プログラム。は学習用なので、あなたのパソコンは壊れません。安心して試してください。
言葉の整理:> は「リダイレクト」といって、画面に出るはずの文字をファイルに書き出すための記号です。echo "文字" > ファイル名 と書くと、その文字が中身になったファイルができます。
失敗するとどうなるか:> は書き出す前に、そのファイルをからっぽにします。もとから中身があるファイルに > を使うと、その中身は消えてしまいます。ゴミ箱にも残りません。
安全に試す方法:この記事では ~/practice/file-ops の中だけで、新しい名前のファイルに書き出します。もとからあるファイルには > を向けません。
はじめに
結論: ファイルのコピーで上書き事故が起きた場面から安全なファイル操作の考え方を一緒に学ぶ。
cp・mv・rmの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(再帰的)」の略で、中身ごとコピーしてくれる。touchは中身が空のファイルを作るコマンド。echo "文字"は文字を表示するコマンドだよ。$ 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.txtがrenamed.txtになりました!mvは移動先がファイル名なら「リネーム」、ディレクトリなら「移動」になるんだ。ファイルを移動する
$ mv renamed.txt mydir/ $ ls mydir file1.txt file2.txt renamed.txt
renamed.txtがmydirの中に移動しました。上書き事故を防ぐ:-i オプション
mvもcpと同じく、同名ファイルがあると上書きしちゃう。だから-iオプションをつけよう。$ mv -i original.txt mydir/
mvの注意点
mvは「移動」なので、元の場所からファイルがなくなります。「消えた」と焦る前に、移動先を確認しましょう。
mvコマンドのポイント
mv 元 先- 移動またはリネームmv -i- 上書き確認(安全のため常に使う)- 移動先がディレクトリなら移動、ファイル名ならリネーム
rm:ファイルを削除する
結論: rmにはゴミ箱がないため必ず-iオプションで削除前に必ず確認するクセをつけておく。
rmは「remove」の略で、ファイルを削除するコマンドだよ。これが一番注意が必要。rmで消したファイルは基本的に復元できない。基本の使い方
次の例は、-iを付けないときの動きを見るためのものです。たしかめずに消えます。じぶんで打つときは、次の節で紹介する-i付きを使ってください。
$ 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 -rf は使わない
rm -rfは確認なしで強制削除するコマンドです。初心者は絶対に使わないでください。間違ったディレクトリを指定すると、大事なファイルがすべて消えてしまいます。
rmコマンドのポイント
rm ファイル名- ファイルを削除rm -i- 削除前に確認(常に使う)rm -r- ディレクトリを中身ごと削除rm -rfは使わない
ミニ課題
結論: cp -i・mv -i・rm -iを組み合わせた実践課題でファイル操作の安全な型を体で覚える。
課題1:ファイルを安全にコピーしよう
やること:memo.txtというファイルを作成し、memo-backup.txtという名前でコピーしてください。上書き確認オプションをつけること。
ヒント1(方向づけ)を見る
まず中身のあるファイルを1つ作ります。次にコピーしますが、そのとき「上書きする前に聞いてくれる」オプションを付けます。
ヒント2(コマンド名)を見る
ファイル作成は echo と、書き出し先を指定する記号 > を使います。コピーは cp です。確認を出すオプションは -i です。
答えを見る
$ echo "大事なメモ" > memo.txt $ cp -i memo.txt memo-backup.txt $ ls memo-backup.txt memo.txt mydir
課題2:ファイルを移動してリネームしよう
やること:memo.txtをmydirディレクトリに移動し、さらにimportant.txtという名前に変更してください。
ヒント1(方向づけ)を見る
移動と名前変更は、同じ1つのコマンドでできます。2回に分けても、1回でまとめてもかまいません。
ヒント2(コマンド名)を見る
使うのは mv です。移動先に新しいファイル名まで書くと、移動とリネームを同時にできます。
答えを見る
$ 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を削除してください。削除前に確認が出るようにすること。
ヒント1(方向づけ)を見る
削除のコマンドに、「消す前に聞いてくれる」オプションを付けます。コピーや移動で使ったものと同じ文字です。
ヒント2(コマンド名)を見る
使うのは rm です。オプションは -i を付けます。
答えを見る
$ rm -i memo-backup.txt rm: remove regular file 'memo-backup.txt'? y
$ ls mydir
振り返り
結論: -iオプションをcp・mv・rmすべてにつける習慣をつけると大半の事故を防げると確認する。
-iオプションをつければ、上書きや削除の前に確認が出るんですね!cp -i、mv -i、rm -iを習慣にすれば、ほとんどの事故は防げるよ。rmはゴミ箱がないから、とくに注意ですね。lsで確認する習慣もつけると、さらに安全だね。今日の3行まとめ
結論: cp・mv・rmそれぞれの役割と-iオプションの重要性を3行で整理して定着させる。
cp -iでファイルをコピー、-rでディレクトリをコピーmv -iでファイルを移動・リネームrm -iで削除(rm -rfは使わない)