Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       rmdir - ディレクトリを削除する

書式

       #include <unistd.h>

       int rmdir(const char *pathname);

説明

       rmdir()  はディレクトリを削除する。削除するディレクトリは空でなければならない。

返り値

       成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

       EACCES pathname  を含んでいるディレクトリへの書き込みアクセスが プロセスの実効 (effective) UID に対して許
              可されていないか、   pathname   に含まれているディレクトリのどれかに検索   (実行)   許可がないか、
              pathname  に至るまでのディレクトリのいずれかに対する検索許可がなかった。 (path_resolution(7)  も参
              照のこと)

       EBUSY  pathname がシステムや別のプロセスにより使用中で削除することができない。 Linux では、 pathname がマ
              ウントポイントとして使用されているか、    呼び出したプロセスのルートディレクトリであることを意味す
              る。

       EFAULT pathname がアクセス可能なアドレス空間の外を指している。

       EINVAL pathname の最後のディレクトリ部分が . である。

       ELOOP  pathname を解決する際に遭遇したシンボリックリンクが多過ぎる。

       ENAMETOOLONG
              pathname が長過ぎる。

       ENOENT pathname  の中のディレクトリ部分が存在しないか、壊れた  (dangling)   シンボリックリンク  (symbolic
              link) である。

       ENOMEM 十分なカーネルメモリーがない。

       ENOTDIR
              pathnamepathname に含まれているディレクトリ部分が、実際には、ディレクトリでない。

       ENOTEMPTY
              ディレクトリ  pathname... 以外のエントリーがある。または、 pathname を構成する最後の要素が
              .. である。 POSIX.1 は、この状況で EEXIST を返すことを認めている。

       EPERM  pathname を含んでいるディレクトリにスティッキービット(sticky-bit)  (S_ISVTX)  が設定されていて、プ
              ロセスの実効ユーザーID  が削除しようとするファイルの ユーザーID とそのファイルを含むディレクトリの
              ユーザーID のどちらとも異なり、 プロセスも権限 (Linux では CAP_FOWNER ケーパビリティ) がない。

       EPERM  pathname を含んでいるファイルシステムがディレクトリの 削除をサポートしていない。

       EROFS  pathname が読み込み専用のファイルシステム上のディレクトリを参照している。

準拠

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

バグ

       NFS プロトコルに潜在している欠陥によって、まだ使用中のディレクトリが 突然消滅する現象が引き起こされること
       がある。

関連項目

       rm(1), rmdir(1), chdir(2), chmod(2), mkdir(2), rename(2), unlink(2), unlinkat(2)

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。