今回はLinuxの基本的なコマンドであるrmコマンドの仕様と注意点について説明していきます。
rmコマンドはファイルやディレクトリの削除に使用されるコマンドで、
書式は下記のようになります。
rm [オプション] ファイル名かディレクトリ名
複数ファイル・ディレクトリの場合は下記のようになります。
rm [オプション] ファイル名 ファイル名 ファイル名・・・
rm [オプション] ディレクトリ名 ディレクトリ名 ディレクトリ名・・・
rmコマンドのオプションは下記が主に使用されます。
-f エラーメッセージや確認メッセージを表示しない
-i ファイルやディレクトリ削除前に確認する
-v 削除の詳細を画面に表示する
-r,-R ディレクトリを再帰的に削除する
ここでrmコマンドの注意点として、使用してはいけないコマンド例を下記に紹介します。例はUbuntuというLinuxOSの環境下で実行したものになります。(参考URL参照)
rm -rf /
ここでいう「/」はルートディレクトリと呼ばれ、Linux上にあるすべてのファイル・ディレクトリの根元となるディレクトリです。
Windowsでいうと、Cドライブみたいなものです。
このコマンドの意味は、ルートディレクトリを再帰的に削除する、つまりLinux上にあるほぼ全てのファイル・ディレクトリを削除するという意味になります。
しかしこのコマンドだけでは「use --no-preserve-root to override this failsafe」と警告が表示されて実行されないのですが、次のように修正すると実行できてしまいます。
rm -rf --no-preserve-root /
上記コマンドを実行し終えた後は、shutdownコマンドも削除されているので、システムをシャットダウンすることもできない状態になります。電源を切り、強制的にシステムをシャットダウンした後で起動しても下記の画像のようになり、一切操作ができなくなります。
以上がrmコマンドの仕様と注意点の説明となりましたが、rmコマンドはファイルを削除するという仕様上、初心者は特に扱いに気を付けなければならないコマンドです。
Windowsであれば基本的に一度ファイルを「削除する」操作をしても「ゴミ箱」フォルダへ移動するだけなのでファイルを元に戻せるのですが、Linuxのrmコマンドは一度実行して削除されてしまうと元に戻すことはできません。
そのため初心者の場合は「基本的に-fオプションを使用しない」、「-iオプションを必ず付けて、確認画面を表示するようにする」といったことを意識してrmコマンドを使用すると間違いが減るのではないかと思います。
参考にしたHPのURL
・https://eng-entrance.com/linux_command_rm
・https://qiita.com/web-hackers/items/7bb34a0a6228a5c10da2
・https://news.mynavi.jp/techplus/article/dont_run_on_linux-1/