rmdir
rmdir
は、UnixやMS-DOS(互換OSや、OS/2・Windows等を含む)の、ディレクトリを削除するコマンドである。"remove directory"の略。MS-DOS系では、rd
という略称がエイリアスとなっているため、そちらが使われることが多い。POSIXのシステムコールの1つでもある。
![]() Example of rmdir | |
作者 |
Ken Thompson, Dennis Ritchie (AT&T Bell Laboratories) |
---|---|
開発元 | Various open-source and commercial developers |
対応OS | Unix, Unix系, DOS, MSX-DOS, FlexOS, OS/2, Windows, ReactOS, KolibriOS |
プラットフォーム | クロスプラットフォーム |
種別 | Command |
使用法
編集以下のように削除したいディレクトリ名を指定する。
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]。
脚注
編集注釈
編集- ^ 正確には、
.
と..
だけでなければならない。
出典
編集関連項目
編集参照文献
編集外部リンク
編集- Rmdir (rd) | Microsoft Learn - Microsoft Windows XP関連の旧リファレンス
- Rmdir | Microsoft Learn - Microsoft Windows Server 2012関連の旧リファレンス
- rmdir | Microsoft Learn - cmd.exeおよびバッチファイルで利用可能なWindowsコマンドのリファレンス