Doiya’s blog

日々の進捗を書く雑記ブログ(メインはエンジニアやプログラミング関連)

悪魔のコマンドの防止策

まず、以下のコマンドは打つと非常に大変な事になる悪魔のコマンドです。 もし打つと、OSが動かなくなるという恐ろしいことが起きます。

rm -rf /

防止策としては、上記のコマンドを打たないようにすることが鉄則なのですが RUNTEQの校長からある防止策を教えていただいたので、そちらの内容はこちらの記事で 書こうかなと考えています。

まず以下のgemをインストールします。

github.com

こちらのgemを導入すると 以下のコマンドが追加されます。

trash-put – ごみ箱へ移動
trash-list – ごみ箱の一覧
trash-restore – ごみ箱から復元
trash-empty – ごみ箱を空にする
trash-rm – ごみ箱から個々のファイルを削除

この中のtrash-putをrmコマンドと紐づけることによって、削除したファイルやディレクトリが一旦、専用のごみ箱に入るようになります。(任意でそこから復元可能)

やり方としては

1 trash-cilをインストールする。

brew install trash-cli

2~/.bashrcの末尾に以下を追記します。

if type trash-put &> /dev/null
then
    alias rm=trash-put
fi

3 以下のコマンドで.bashrcへの変更を反映する。

source ~/.bashrc
# fishでやると変なエラーが出るので、その点だけ注意してください。

これで完了です。

試しに実験でファイル使ってみます。

# 適当なファイル作って
$ touch test.txt
# 削除して
$ rm test.txt
# ごみ箱の中身を確認して
$ trash-list
2022-03-24 20:40:56 /Users/〇〇/test.txt
# 中身を復元
$ trash-restore
 1 2022-03-24 20:40:56 /Users/〇〇/test.txt
今回は1番を選択して、無事復元しました。

ただしファイルの復元が一括ではできなさそうなので

本当にrm -rf /してしまったときは、復元が大変みたいなので やらない事に越したことはないです。

参考

【悪魔のコマンド】「rm -rf /」の事故防止策【trash-cli】 | 前菜の備忘録

rmコマンドでゴミ箱へ移動するようにする - Qiita