ツールがディレクトリを好きでcp
、rm
通常のファイルとは別に扱うのはなぜですか?どちらも、ユーザーが再帰的な動作を希望することを明示的に指定する必要があります。そうしないと、ディレクトリをまったく扱いません。
コンピュータとの最初のやり取り(しばらくの間)は、Windows / GUI /ポイントアンドクリック/ドラッグアンドドロップ環境で行われましたが、これらの操作がターゲットに関係なく同じように動作するのは常に自然なことでした。
この動作は、ワイルドカードを使用してコマンドを実行するときに特にイライラします。空でないサブディレクトリ*
を除いて、ディレクトリ()内のすべてを削除したい場合はどうなりますか?
これは、ユーザーが自分で足を撃たないようにするための一種のセキュリティ機能であるとしか想像できませんが、これはいくつかのUnixの原則についての私の理解と矛盾しています。
- Unixは通常、ユーザーを自分から保護しません。それは常にユーザーが彼女がしていることを知っていると仮定しています。
- Unixの場合、すべてがファイルです。ディレクトリは単なる別のファイルではありませんか?なぜ違う扱いを受けるのですか?
私の質問:
- この動作は技術的な制限によるものですか、それとも意図的な選択ですか?
後者の場合、
- この選択の動機となった理由の歴史的な説明はありますか?
rm
あなたはそれがファイルとディレクトリの違いを無視したい場合は、少なくとも、あなたはあなたの中に置くことができる~/.bashrc
ファイル:alias rm='rm -r'
。