rmdirとrm -rの違い


9

私は通常、rmを使用してディレクトリを削除します。

rm -r myDir

しかし、私はrmdirという別のコマンドも知っています。

rmdir myDir

これら2つのコマンドの違いは何ですか?また、それぞれをいつ使用する必要がありますか?


2
サブディレクトリにファイルがある場合、rmdirは機能しますか?
ジェフシャラー

1
rmdir(2)空のディレクトリのみを削除できる同義のシステムコールも参照してください。
David Foerster 2017

4
ちなみに、使用には「正しい」手順がありますrm -r。(1)コマンドを入力しますが、入力しないでください(2)キーボードから手を離します(3)5まで数えます(4)Enterキーを押します。私はすべての危険なコマンドを使用してこのようなことを始めました。自分がやっていることを確認する機会、正しいものを入力したことを確認する機会、予期しない結果が発生する可能性があるかどうかを考える機会などを与えるためです。ときどきこれが私を導きますたとえば、コマンドを消去して、最初にいくつかの追加チェックを行います。
ajb 2017

3
@ajb- rm -rf ~ /*ホームディレクトリを整理します。または、システムをクリーンアップしてください。常に再確認してください;)。
トムカーペンター

1
その通知は@ajb rmdirrm -r二つの文字列です同じ長さの :-)
Kusalananda

回答:


14

rm -rディレクトリとそのすべての内容を削除します。rmdirディレクトリが空の場合にのみ、ディレクトリを削除します。以下を使用して、ディレクトリとそのすべてのコンテンツを削除します。

rm -rf <directory_to_be_removed>

17
必要がない場合は、通常は使用し-fないでください。-rf毎回使用すると便利ですが、(ほぼ)すべての安全性チェックが無効になります。
2017

5
-1は-f、予測できない、元に戻せない結果をもたらす可能性があるrmのフラグの不必要な推奨事項
cat

そうrmdirですrm -dか?
Stan Strum

@StanStrumはの-d標準オプションではありませんrm
クサラナンダ

@cat rmコマンドは一般にこれらの結果をもたらす可能性があります。この-fフラグはset -e、スクリプトで実行する場合に役立ちます。考えずに使うのは不要だと思う。
クサラナンダ

1

あなたは使用する必要がありますrm -r再帰的にディレクトリとそのすべての内容を削除したいとき、またはターゲットは、ディレクトリやファイルであってもよいとあなたは関係なく、それが何であるかのそれを削除したいとき。

rmdir空のディレクトリを削除したい場合に使用してください。

rmdir空ではないディレクトリとファイルの削除を拒否するため、このコマンドは便利です。これは、削除するものがディレクトリであること、およびディレクトリを削除する前に(たとえば、スクリプトで)空であることを完全に確認し、それをエラー状態として扱いたい場合の安全策として機能します。さもないと。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.