うまいぼうぶろぐ

linuxとhttpdとperlのメモ

最近のGNUのrmコマンドはdefaultで"rm -rf /"が実行できなくなっている

知らねかった。仮想OSでdebian 6.0 を試していて、ひと通り終わったので禁断のrm -rf / で壊して遊ぼうとしたら、、、

# rm -rf /
rm: it is dangerous to operate recursively on `/'
rm: use --no-preserve-root to override this failsafe

お?help 見てみる。

# rm --help
    --no-preserve-root  do not treat `/' specially
    --preserve-root   do not remove `/' (default)

おー。いつから有効になったんだろう? とにかく、.bashrcに

alias rm='rm -i --preserve-root' 

としておけば他のディストリビューション、バージョンでも(このオプションが実装されていたら)幸せになれそう。

ちなみにzshにはシェルで

% rm -rf hoge/*
zsh: sure you want to delete all the files in /home/user/hoge [yn]? 

こういう確認をしてくれる機能がある。

追記

"最近のGNUの" というのは間違いかな。distribution によるぽい。debian系は --preserve-root がdefault で、redhat系は --no-preserve-root がdefault ?

さらに追記

RHEL6系では--preserve-root がdefaultだったからdistributionじゃなくてやっぱりGNUのversionかな。