alias rm="rm -i"
かなり前に、このようなエイリアスを使用するのは非常に悪いことでした(参照が見つかりません)。
その事実の歴史的な証拠や常識的な説明はありますか?
ユーザーにコマンドを確認するために確認プロンプトに頼るという悪い習慣を与えると想像しますが、エイリアスを持たない別のプロファイルでそうすると災害につながる可能性があります。
alias rm="rm -i"
かなり前に、このようなエイリアスを使用するのは非常に悪いことでした(参照が見つかりません)。
その事実の歴史的な証拠や常識的な説明はありますか?
ユーザーにコマンドを確認するために確認プロンプトに頼るという悪い習慣を与えると想像しますが、エイリアスを持たない別のプロファイルでそうすると災害につながる可能性があります。
回答:
あなたが正しい。
あなたはそれに慣れるので、それは悪いです。あなたはそれを持っていないシステム上にいて、あなたがrm
、それがすぐに削除を開始し、あなたは何が起こっているのだろうと思っている場合。
多くのユーザーは、異なるシステムへのSSHに慣れています。そのため、多くの異なるシステムを使用し、場合によっては、ユーザーアカウント(エイリアスを含む)を設定せずに使用することが一般的です。
代わりに、eg alias rmi='rm -i'
を使用し、その使用方法を学んでください。別のシステムでセットアップされていない場合、誤ってファイルを削除することはなく、常に完全なコマンドの入力にフォールバックできます。
@Danielが言ったように、それがそこにあることを期待するように訓練することを除いて、それ自体は有害ではありません。実際、これはCentOS(および拡張機能RHELによって、私は使用してから長すぎた)マシンのデフォルトのセットアップであり、tuchusに大きな痛みがあります。そのギグでの残りの時間は、「rootアクセスが必要ない人向けのLinux」セットアップを避けるために/ bin / rmと入力しました。
大きな危険は、人々がこのようなものに依存してグロブをフィルタリングする可能性があることだと思います。ディレクトリからいくつかの画像を削除したいが、すべてではない場合を想像してください。
rm -i pics/*.jpg
これを使用して、globを手動でフィルタリングできますが、これは完全に合理的です。しかし、エイリアスを使用していた場合、そのエイリアスを使用rm
せずにシェルに着陸し、それを試してみてください...すべての写真を削除しただけです!
個人的には、このエイリアスは血圧に有害であると感じています;)。しかし、それは私だけです。
ダニエル・ベックが言ったことに加えて、私は自分自身が使用してい-f
迂回するように-i
、それは使用して、その結果として潜在的に危険である、rm -f
とrm -rf
不必要。どういうわけか関連:rm -rf
問題を防ぐ方法は、この質問への回答で「-i」というファイルを作成することです:偶発的なrm -rf / *を防ぐにはどうすればよいですか?。
繰り返しますが、そのエイリアスがなければ、-fを使用せず、すべてが問題になることはありません。
これは、過去数百人のユーザーとの私の経験に基づいて、はるかに害が少ないです。
rm () # must be a function, must require single answer for all targets
{
ls -FCsd "$@"
local reply ; echo -n 'remove[ny]? ' ; read reply
if [ "_$reply" = "_y" ] ; then
/bin/rm -rf "$@" ; else echo '(cancelled)'
fi
}
rm
は、この機能またはrm -i
エイリアスのいずれかを持たない他のコンテキストで使用した場合、災害からしばしば救われました。rm
はないので、他のプログラムを恐れることなく、本物はそのままです。コードスタイルは、ほとんどがsh互換(echo .... | tr -d '\012'
bash事前シェルの使用を除く)であるため、自由に独自のbash固有のものを作成してください。コード自体を共有するために投稿するのではなく、それに伴うユーザーエクスペリエンスの変更を共有するために投稿します。
rm -i
歴史的に(数百人のユーザーがいるという経験から)ファイルが誤って削除され、含まれる機能がユーザーに正しいワイルドカードを使用するようにトレーニングし、エラー率を下げるというものが含まれています。そこで、私は苦労する重要な問題に対処しrm -i
、利便性のために解決策を提供しましたが、機能の真下にある箇条書きは、それらが密接な関係にあることを妨げません。