rmdirは、UnixやMS-DOS(互換OSや、OS/2・Windows等を含む)の、ディレクトリを削除するコマンドである。"remove directory"の略。MS-DOS系では、rdという略称がエイリアスとなっているため、そちらが使われることが多い。POSIXのシステムコールの1つでもある。
以下のように削除したいディレクトリ名を指定する。
rmdir name_of_directory
ここでname_of_directoryは削除したいディレクトリ1つの名前(パス)である。ディレクトリの中身は空でなければならない[注釈 1]。Unixではこのコマンドに-pのようなオプションがある。これは、そのディレクトリを削除した結果、もし親ディレクトリも空になっていたら親ディレクトリも削除する動作となる。
例として、
rmdir -p foo/bar/baz
は最初にbaz/を、その後bar/を、そして最後にfoo/を削除する。つまりコマンド引数で指定したディレクトリツリー全体を削除する。
空ではないディレクトリを、その内容すべてごと再帰的に削除するにはrmコマンドの -r オプションを使う。例えば、
rm -r foo/bar/baz
DOSでこのコマンドと同じ動作をするのはdeltreeである。Windowsでは以下のように/sオプションを指定する[1]。
rd /s directory_name
POSIXにおける関数プロトタイプ宣言は以下のような形式である[2]。
#include <unistd.h>
int rmdir(const char *path);
Microsoft Visual C++のCランタイムライブラリには、Windows APIを利用して実装された、類似のインターフェイスを持つ関数_rmdir()が定義されている[3]。グローバルスコープを持ち、アンダースコアで始まる命名規則が使われており、これは処理系のために予約された名前を使用していることを示している。POSIXと同名のシンボルとしてrmdirマクロも定義されているが、ISO標準ではないため、非推奨となっている[4]。
. と .. だけでなければならない。未登録
IPFS未登録
📡 0ピア
N=1
CRITICAL
PQS D39