空のディレクトリのみ削除したい
ディレクトリの削除が失敗した場合の対処法を教えてほしい
Linuxではディレクトリを削除するためのコマンドが用意されています。しかし、用途によってディレクトリをまるごと削除したい場合や、ディレクトリの中身が存在する場合は削除したくない場合などがあると思います。
そこで、今回はディレクトリを削除する方法をパターン別に以下の内容で解説していきます。
- rmコマンドで削除する方法
- rmdirコマンドで削除する方法
- ディレクトリが削除できない場合は?
- ディレクトリを削除する際の注意点
Linuxでディレクトリを削除する方法について、わかりやすく解説していますのでぜひ参考にしてください。
この記事ではディレクトリの削除についてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!
Linuxでディレクトリを削除するには
Linuxでディレクトリを削除するには以下のコマンドがあります。
- rmコマンド
- rmdirコマンド
ここではそれぞれのコマンドの使い方について解説します。
rmコマンドの使い方
「rm」コマンドは通常ファイルを削除するときに使用しますが、オプション「-r」を使用することでディレクトリを削除することができます。
$ rm -r ディレクトリ名
以下の例では「/tmp/sample」にある「sub」ディレクトリをrmコマンドで削除しています。
$ rm -r sub
実行結果:
これでsubディレクトリとsubディレクトリに含まれるファイルやディレクトリ全てが削除されます。
「rm」コマンドについては以下の記事でも詳しく解説しています!
rmdirコマンドの使い方
「rmdir」コマンドを使用することでもディレクトリを削除することができます。
$ rmdir ディレクトリ名
前述した「rm -r」コマンドとの違いとして、削除対象のディレクトリにファイルやサブディレクトリが存在する場合は削除に失敗してしまいます。
$ rmdir test
実行結果:
$ rmdir test rmdir: `test を削除できません: ディレクトリは空ではありません
そのため、「rmdir」コマンドは対象のディレクトリが空であることが前提です。
ディレクトリが削除できない場合
「rm -rf」「rmdir」コマンドなどで以下のようなメッセージが表示されて削除ができない場合、
$ rm -rf super rm: super を削除できません: 許可がありません
現在のユーザーでは削除できる権限がありません。そのため、「su」コマンドでスーパーユーザー(管理者権限)でログインして削除コマンドを実行する必要があります。
「su」コマンドについては以下の記事でも詳しく解説しています!
ディレクトリを削除するときの注意点
「rm -rf」コマンドは指定したディレクトリを削除するのに便利ですが注意点もあります。
前述したとおり「rm -rf」コマンドを実行してしまうと対象のディレクトリやサブディレクトリまで全て削除されてしまいます。たとえば、スーパーユーザーで「rm -rf」コマンドを実行した場合、LinuxでOSを動かすために必要なファイルまでも誤って削除してしまう場合もありえます。
「rm」コマンドを実行するとWindowsやMacのように削除されたディレクトリがゴミ箱に移動するわけではなく完全削除されてしまいます。
そのため、基本的に復元もできなくなってしまいますので「rm」コマンドを実行するときは、本当に削除してよいディレクトリか?よく確認してから実行するようにしましょう。
Linuxについてもっと知りたい方へ
そもそもLinuxについて、
実はなんとなくしか理解していない…
Linuxを効率よく学習する方法が知りたい
といった情報を知りたい方は、以下の記事も参考にしてみてくださいね。
まとめ
ここでは、Linuxでディレクトリを削除する「rm」「rmdir」コマンドについて、
- rmコマンドの使い方
- rmdirコマンドの使い方
- ディレクトリが削除できない場合
- ディレクトリを削除するときの注意点
などについて解説しました。Linuxではコマンドで簡単にディレクトリを削除できますが、説明したように一度削除したディレクトリは復元ができません。
そのため、ディレクトリを削除するときは十分に注意しましょう。もし「rm」「rmdir」コマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。