rm -rf
展開は、ユーザーが誤ってシステム全体を削除する可能性があるため、危険だということを何度も聞きました。しかし、時には毎回尋ねずにディレクトリを再帰的に削除したい場合があります。yes | rm -r
代替を使用することを検討しています。
私の考えでは、yes | rm -r
それはより安全ですかrm -rf
?それとも本質的に同じですか?
ベストアンサー1
短い答え
いいえ。しかし、命令を組み合わせる上で創造性が本当に好きです。それにもかかわらず、yes|rm -r
これはUUOC(あなた不審なあなたセレンああF氏at) - 単純にユーザーの利便性を提供するコマンドライン構造の略語(またはより良い用語)です。
長い答え
あなたの質問はさまざまな次元で答えることができるので本当に気に入ります。
技術次元
このrm
コマンドはファイルを削除するために使用されます。このオプション-r
またはより長い形式は、--recursive
ファイル(ディレクトリを含む)を繰り返し削除するために使用されます。-f
(long:)オプションは、--force
存在しないファイルとパラメータを無視し、確認メッセージを表示しないために使用されます。詳細については、以下のリンクされたマニュアルページを参照してください。
したがって、ディレクトリを再帰的に削除するには、これがrm -rf
正しい方法です。
言語次元
配布が危険だという言葉を何度も聞きましたがrm -rf
、そうです。欠けている部分は、誰もこれが起こる理由を教えてくれないということです。
元の質問に既に回答を提供しています。コマンド自体は危険ではありません。ユーザーが何かを間違って入力すると、最初に削除してはいけない削除されたファイルまたはディレクトリに直面します。
したがって、あなたが聞く警告の意味は次のとおりです。入力した内容を本当に削除したい場合は、Enterボタンを押す前にもう一度考えてみてください。
あなたの質問は、それが意味するものを完全に理解していないことを意味しますが、あなたが理解することは、「コマンド自体が危険であるため、ファイルやディレクトリを削除する別の方法を見つける必要があります」です。
もちろん、目標を達成する方法は常にいくつかありますので、Unixコマンドを使用してこれを行うことができます。しかし、あなたが聞く警告は実際の反省のためであるため、(創造的な)パイプライン構成はyes|rm -r
考えるのに役立ちません。
だからそれほど危険ではありませんrm -rf
。
歴史的次元
すべてのUnixコマンドは、次の真言を使用して作成されます。一つ働き、仕事を完璧にしましょう。」
しかし、これはオペレーティングシステムに精通している人にとっては混乱する可能性があります。たとえば、Windowsでは、作業を開始した後、ユーザーに「本当にこれをやりたかったのですが、そのようなことをしたかったのですか?」と尋ねることは依然として一般的です。
Unix コマンドを使用する場合、明示的に確認を要求しない限り、これはそうではありません。このrm
コマンドも例外ではなく、-i
次のパラメータを知っています--interactive
。
問題は使いやすいオペレーティングシステムでUbuntuが浮上し、新しいLinuxユーザーが急増した2004年ごろから始まった。それらのすべては、Linuxが内部的にどのように動作するかについてほとんど知りません。それらの多くは、間違った入力によって多くのシステムが削除される間違いを犯しましたrm -rf /
。悲しい瞬間...
当時の間違いは、Windowsのようにこれらのユーザーを「保護する」ことでした。したがって、Ubuntuのようなディストリビュータはrm
自動的rm -i
にコマンドを 。
それにもかかわらず、重要な点は、一部のディストリビューションではまだそのようなエイリアス定義を使用しているため、多くの人が対話型クエリがrm
このコマンドのデフォルトであると仮定していることです。しかし、これは事実ではありません。