rm -Rオプションとは?初心者でもわかる再帰的にディレクトリを削除する方法
生徒
「Linuxでフォルダを消したいんですが、rmコマンドでは削除できないって出てきました……」
先生
「フォルダ(ディレクトリ)を削除するには、-rか-Rというオプションが必要です。実はどちらも再帰的に削除するオプションなんですよ。」
生徒
「えっ、-rと-Rって同じなんですか?」
先生
「基本的には同じ働きをしますが、大文字で書くことでより目立ちやすくなるという利点もあります。じゃあ詳しく使い方を見ていきましょう!」
1. rmコマンドとは?
rmコマンドは、Linux(リナックス)でファイルやディレクトリを削除するための基本的なコマンドです。Windowsの「ゴミ箱」とは違い、削除後に元に戻すことはできません。
そのため、間違えて使うと取り返しがつかないこともあるので、慎重に操作する必要があります。
2. -Rオプションの意味とは?
-R(大文字のアール)は、Recursive(再帰的)の略で、ディレクトリの中にあるファイルやサブディレクトリをすべてまとめて削除するためのオプションです。
再帰的という言葉が難しく聞こえるかもしれませんが、簡単に言うと、「中に何が入っていても、どんどん中まで入っていって全部消す」という意味です。
3. rm -Rの基本的な使い方
たとえば、old_dataというフォルダを削除したいときは、以下のように入力します。
rm -R old_data
このコマンドで、old_dataフォルダの中にあるファイルやフォルダも含めて、すべて削除されます。
4. rm -rとの違いはあるの?
-r(小文字)と-R(大文字)は、Linuxではまったく同じ動作をします。どちらを使っても再帰的に削除されます。
ただし、大文字の方が目立つので、注意が必要な操作であえて-Rを使う人もいます。見た目の好みや明確さのために選ばれているだけで、意味や結果は同じです。
5. 実行前にlsで中身を確認しよう
削除する前には、削除対象のディレクトリの中身を確認するのが安心です。たとえば、以下のように入力して、削除対象を確認しましょう。
ls -R old_data
old_data:
file1.txt logs/
old_data/logs:
log1.txt log2.txt
このように、サブフォルダの中まで表示されるので、「何が削除されるのか」が明確になります。
6. 確認しながら削除するなら -Ri を使おう
rm -Rは非常に強力なコマンドで、一瞬で大量のファイルを消してしまう可能性があります。初心者の方には、-i(インタラクティブ=確認付き)オプションと組み合わせることをおすすめします。
rm -Ri old_data
rm: descend into directory 'old_data'?
rm: remove regular file 'old_data/file1.txt'?
rm: descend into directory 'old_data/logs'?
rm: remove regular file 'old_data/logs/log1.txt'?
rm: remove regular file 'old_data/logs/log2.txt'?
rm: remove directory 'old_data/logs'?
rm: remove directory 'old_data'?
このように、1つ1つ確認してから削除することができるので、安全性が高まります。
7. ワイルドカードと組み合わせて一括削除
ワイルドカード(*)を使うと、複数のフォルダをまとめて削除することができます。
たとえば、backup_で始まるフォルダを一気に削除したい場合は:
rm -R backup_*
このコマンドで、backup_2023やbackup_oldなど、名前が一致するフォルダがすべて削除されます。
8. rm -Rfの危険性について
rm -Rfという書き方もよく見かけますが、これは非常に危険です。
-R:再帰的に中身すべて削除-f:force(強制)で、確認なしに削除
この組み合わせは一切の警告なしで削除を実行するため、間違って大事なファイルまで消してしまう可能性があります。
たとえば、次のようなコマンドを実行すると:
rm -Rf /
これはLinuxのシステム全体を削除しようとする最悪の例です。絶対に実行しないようにしましょう。
9. rootユーザーの場合は特に注意
Linuxのroot(ルート)ユーザーは、すべての権限を持っており、rm -Rも制限なく実行できます。そのため、rootで操作するときは特に慎重になる必要があります。
rm -R /var/tmp/logs
このように、rootユーザーで実行すれば強制的に削除されますが、誤って重要なファイルを消してしまわないよう注意しましょう。