Linuxを使っていると、不要になったディレクトリやファイルをまとめて削除したい場面がよくあります。そんなときに役立つのが「rm -r
」コマンドです。
このコマンドは、ディレクトリとその中にあるすべてのファイルやサブディレクトリを一括で削除できる強力なツールです。
しかし、その威力ゆえに使い方を誤ると、大切なデータを失ってしまうリスクもあります。この記事では、rm -r
コマンドの基本から注意点、具体的な使い方までをわかりやすく解説します。Linux初心者の方でも安心して読める内容になっていますので、ぜひ参考にしてください。
rm
は「remove」の略で、ファイルやディレクトリを削除するためのコマンドです。基本的な構文は以下の通りです。
rm [オプション] 削除したいファイルやディレクトリ
デフォルトの rm
は、単体ファイルの削除に使われます。たとえば以下のように使います。
rm sample.txt
これで sample.txt
というファイルは削除されます。しかし、ディレクトリを削除しようとすると、エラーになります。
rm mydir
# → エラー: is a directory
そのため、ディレクトリを削除する際は -r
オプションが必要です。
-r
は「recursive(再帰的)」の略です。このオプションを付けることで、ディレクトリの中身をすべてたどりながら削除していく動作になります。つまり、以下のような構文になります。
rm -r ディレクトリ名
たとえば、
rm -r mydir
と実行すると、mydir
ディレクトリとその中にあるすべてのファイルやフォルダが削除されます。
このように、-r
はディレクトリごとすべてを削除したいときに使うオプションです。ただし、これには注意点もあります。
rm -r
とよく組み合わせて使われるのが -f
オプションです。-f
は「force(強制)」の意味で、確認なしで削除を進めるという指示です。
rm -rf ディレクトリ名
このコマンドは、一切の確認なしで再帰的に削除を行うため、強力ですが非常に危険でもあります。たとえば以下のように使います。
rm -rf /tmp/testdir
この場合、/tmp/testdir
とその中身はすべて確認なしに削除されます。-f
があると、たとえファイルの権限が読み取り専用でも削除されてしまうのです。
rm -r
は取り消しができません。一度削除してしまうと、通常の方法では元に戻せません。とくに rm -rf /
のようなコマンドは、システム全体を削除する危険があり、絶対に実行してはいけません。
たとえば以下のような使い方は注意が必要です。
rm -rf /home/user/*
これは /home/user/
以下のすべてのファイルやフォルダを削除します。もしスペースや変数展開などで意図せぬパスが指定されてしまうと、重要なデータを失う可能性があります。
削除を行う前には、ls
コマンドで本当に削除してよい対象かどうかを確認しましょう。
ls ディレクトリ名
また、削除対象を明示的に指定する習慣をつけるとより安全です。
少しでも安全性を高めたい場合は、-i
オプションを使いましょう。これは削除のたびに「本当に削除しますか?」と聞いてくれるオプションです。
rm -ri mydir
このようにすると、mydir
内のファイルごとに確認が入り、誤って削除するのを防ぐことができます。初心者の方は、最初は -ri
の組み合わせで慣れていくのがおすすめです。
ここで、実際の使用例をいくつか紹介します。
rm -r old_backup
このコマンドで、現在のディレクトリにある old_backup
フォルダを削除できます。
rm -r dir1 dir2 dir3
複数のディレクトリを一括で削除することも可能です。
rm -rf /tmp/test
作業用の一時フォルダなどを素早く片付けたいときに使われます。ただし、繰り返しますが慎重に。
必要に応じて、削除前にファイルを一時的に別フォルダに退避させる「ごみ箱」のような運用もおすすめです。たとえば trash
コマンドを使う方法もあります(trash-cli
パッケージをインストールする必要があります)。
trash old_backup
こうすることで、「完全削除」ではなく「一時的に捨てる」感覚でファイルを扱えます。
rm -r
コマンドは、Linuxにおいて非常に便利なツールです。しかし、その強力さゆえに一歩間違うと大切なデータを失う危険があります。とくに rm -rf
は便利な一方で「諸刃の剣」です。
まずは -i
オプションを使って確認付きでの削除に慣れ、少しずつ安全に使いこなせるようにしましょう。誤削除を防ぐためにも、コマンドを実行する前に確認するクセをつけることが大切です。