Rmdir
From Wikipedia, the free encyclopedia
rmdirは、Unix系やDOS(OS/2・Windowsなどを含む)の、ディレクトリを削除するコマンドである。"remove directory"の略。DOSでは、rdという略称がエイリアスとなっているため、そちらが使われることが多い。POSIXのシステムコールの1つでもある。
(AT&T Bell Laboratories)
|
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]。