「rm」コマンドを制限する方法は?

「rm」コマンドを制限する方法は?

私はファイルを送った後に後悔する非常に悪い歴史がありますrm。それ以来、私はtrashもっと使いたいコマンドを作りました。

しかし、まだ筋肉記憶力がたくさん残っていますrm。このコマンドを防ぐ方法はありますかrm?強制的に確認を受けるようにしたり、使用できないようにすることもできますか?

答え1

一般に、特に管理者権限を持つユーザーにとって、良い戦略は、rmコマンドのエイリアスをrm -iとして指定することです。この場合、確認が必要です。

これを.bashrcに入れてください

alias rm='rm -i'

答え2

確認メッセージrm(例:Ruy F. Ribeiroの回答) 頼る習慣を育てます。その後、他のシステムにログインすると、うれしくない驚きが得られます。

代わりに、私は自分で再教育を受けることをお勧めします。 2つのアプローチが浮上しています。

あなたの提案の1つはうまくrmいかないようにすることです。これは非常に簡単ですalias rm=~/bin/dont-use-rm。その後、オプションでechoを使用して警告するスクリプトを作成できますexit 1

2番目は、定期的にタイプする方法を訓練することですrm -i。自分で作ることができます。また、alias rm=~/bin/force-rm-i次のようにシェルスクリプトで作成します。

#!/bin/sh

if [ '-i' != "$1" ]; then
    # you could use getopt, etc. for better command-line parsing, but that
    # is much more work.
    echo -e "\aIgnoring your command because you forgot to use 'rm -i'."
    exit 1
else
    exec rm "$@"
fi

(注:すべてのシェルが「echo -e」をサポートしているわけではありません。サポートしていない場合はtopを自由に使用してください/bin/bash。)/bin/sh

インタラクティブシェルにのみ影響を与えるように簡単に設定できるので、エイリアスを使用してください。シェルスクリプトで「rm」を中断したくありません。

関連情報