web-dev-qa-db-ja.com

rmdirとrm -rの違い

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

rm -r myDir

ただし、別のコマンド rmdir も認識しています。

rmdir myDir

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

9
Joe

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

rm -rf <directory_to_be_removed>
14
Scott Kayser

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

空のディレクトリを削除する場合は、rmdirを使用する必要があります。

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

1
Kusalananda