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/ に書かれている。