MKDIR(2) | Linux Programmer's Manual | MKDIR(2) |
名前
mkdir -ディレクトリを作成する書式
#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char * pathname , mode_t mode );
説明
mkdir() は pathname で示される名前のディレクトリを作成しようとする。返り値
mkdir() は成功した場合 0 を、失敗した場合-1 を返す (また、 errno がエラーの内容にしたがって適切に設定される)。エラー
- EACCES
- プロセスが親ディレクトリへの書き込み許可を持たない、もしくは pathname 中のディレクトリのどれかに検索許可属性が無い ( path_resolution(7) も参照)。
- EDQUOT
- このファイルシステムの、ディスク・ブロックか inode のユーザクォータに達した。
- EEXIST
- pathname が既に存在している(ただしそれがディレクトリであるとは限らない)。 pathname がシンボリックリンクの場合も (その指定先が存在するかどうかに関らず)エラーになる。
- EFAULT
- pathname がアクセス可能なアドレス空間の外を指している。
- ELOOP
- pathname を解決するときに、解決すべきシンボリックリンクが多すぎた。
- EMLINK
- 親ディレクトリへのリンク数が LINK_MAX を超えてしまう。
- ENAMETOOLONG
- pathname が長すぎる。
- ENOENT
- pathname の構成要素のディレクトリのいずれかが存在しないか、またはリンク先が存在しないシンボリックリンクである。
- ENOMEM
- カーネルに十分なメモリがない。
- ENOSPC
- pathname を含むデバイスに新たにディレクトリを作成する空きが無い。
- ENOSPC
- もしくはユーザーのディスク quota が使い切られているため、新たにディレクトリを作成することができない。
- ENOTDIR
- pathname のディレクトリ部分が実際にはディレクトリでない。
- EPERM
- pathname を含むファイルシステムがディレクトリの作成をサポートしていない。
- EROFS
- pathname が読み出し専用ファイルシステム上のファイルを指している。
準拠
SVr4, BSD, POSIX.1-2001.注意
Linux では、許可ビット以外で意味を持つのは、 S_ISVTX モードビットだけである。つまり、Linux では作成されたディレクトリは実際には ( mode & ~ umask & 01777) のモードを持つことになる。 stat(2) を参照のこと。NFS を実現しているプロトコルには多くの不備が存在し、それら中には mkdir() に影響を与えるものもある。
関連項目
mkdir(1), chmod(2), chown(2), mkdirat(2), mknod(2), mount(2), rmdir(2), stat(2), umask(2), unlink(2), path_resolution(7)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2013-01-27 | Linux |