rmは-i
、-I
すべての削除の前に確認するフラグとフラグを持っています。過去に、いくつかのディストリビューションはデフォルトでそれらをオンにしました。これはひどい考えです。通常の操作ではユーザーに確認ダイアログが多すぎると、ユーザーは習慣的に確認ダイアログを表示し始めます。これにより、要件が「注意」(常に赤旗)に変更され、より煩わしいダイアログになります。「はい。はい。はい。はい!はい!神よ、馬鹿げたコンピューターはファイルを削除するだけですYESYESYESYESYES--CRAP I MEANT NO!NOOOOOOO!」これは、「はい、しかし意味がありません」ダイアログの問題です。 この回答は、確認ダイアログが間違ったタイミングで表示される理由を視覚的に説明しています。
あなたが説明する一種の間違いは、「意図したものではなかったアクションのパフォーマンス」というスリップです。ユーザーは通常、間違いをすぐに認識し、その修正方法を正確に知っています。残念ながら、Unixはユーザーに機会を与えません。rmはすぐにファイルを削除します。他のすべてのオペレーティングシステムは、ごみ箱を使用して、少なくともしばらくの間、削除を取り消すことにより、この問題を解決します。
Unixにはさまざまなゴミ箱システムがありますが、この答えには提案がたくさんあります。
問題は、rmをエイリアスするか、rmをエイリアスしないかです。rmsのエイリアスの長所...
- rmの代替を使用することを忘れることはできません。
rmのエイリアス化の短所...
- あなたはそれを持っていないシステムでそれに頼るようになるかもしれません。
- ディスクがいっぱいになったときに問題が発生する場合があります。
- 定期的にゴミを空にするインフラが必要です。
- プログラムで期待されるrmの動作を妨げないように注意する必要があります。
- rmを完全にエミュレートしない場合があります。
最初の引数にあまり従うと、vi(vim、viではない)、csh(tcsh、cshではない)、および他の時代遅れのユーティリティを使用してしまいます。それでも、環境を過度にカスタマイズする危険があります。私は自分のユーティリティを持って行き、それをできるだけ簡単にすることを好みます。YMMV。
2つと3つは技術的な問題です。それらは、tmpreaperと同様に、ゴミのサイズをチェックし、定期的にクリーンアップするリーパーリーパージョブで解決できます。これはcronジョブの場合もあれば、より賢いバージョンが多くのデスクトップLinuxディストリビューションで利用可能なさまざまなファイルシステムイベントインフラストラクチャを利用する場合もあります。これは簡単なことではなく、効率的に行うのはさらに困難です。独自のシステムを作成するよりも、既存のシステムを見つける方が適切です。
4番目は、新しいrmをシェルエイリアスにすることで対処できますalias rm='trash'
。そうすると、プログラムには影響しません。
5番目は、読者が解決すべき問題です。rmには多くのスイッチがありません。
zsh
またはbash
)を使用して、リターンキーを押す前に(自動補完をトリガーするために)タブキーを押す習慣を身に