mkdir

Autres langues

Langue: ja

Version: 2003-12-09 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

̾Á°

mkdir - ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë

½ñ¼°


#include <sys/stat.h>

#include <sys/types.h>



int mkdir(const char *pathname, mode_t mode);

ÀâÌÀ

mkdir() ¤Ï pathname ¤Ç¼¨¤µ¤ì¤ë̾Á°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë¡£

mode °ú¤­¿ô¤Ï¡¢ºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Îµö²Ä°À­¤ò·èÄꤹ¤ë¤Î¤Ë»È¤ï¤ì¤ë¡£ ¤³¤ÎÃͤˡ¢Ä̾ïÄ̤ê¥×¥í¥»¥¹¤Î umask ¤Ë¤è¤ë½¤Àµ¤¬²Ã¤¨¤é¤ì¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Îµö²Ä°À­¤Ï (mode & ~umask & 0777) ¤È¤Ê¤ë¡£ ºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¤½¤Î¾¤Î¥â¡¼¥É¥Ó¥Ã¥È¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ë °Í¸¤¹¤ë¡£Linux ¤Î¾ì¹ç¤Ï¡¢°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£

¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î½êÍ­¼Ô¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶ID ¤ËÀßÄꤵ¤ì¤ë¡£ ¿·¤¿¤ËºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤¬´Þ¤Þ¤ì¤ë¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë set group ID ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤¿¤ê¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ BSD ¤Î ¥°¥ë¡¼¥×¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë½¾¤Ã¤Æ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ ¿·¤¿¤ËºîÀ®¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥×½êÍ­¸¢¤Ï¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î ¤â¤Î¤¬·Ñ¾µ¤µ¤ì¤ë (¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¤Ë¤Ê¤ë)¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥°¥ë¡¼¥×½êÍ­¸¢¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú¥°¥ë¡¼¥×ID ¤È¤Ê¤ë¡£

¤â¤·¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ë set group ID ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¿·¤·¤¯ºîÀ®¤µ¤ì¤ë ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤â set group ID ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£

ÊÖ¤êÃÍ

mkdir() ¤ÏÀ®¸ù¤·¤¿¾ì¹ç 0 ¤ò¡¢¼ºÇÔ¤·¤¿¾ì¹ç -1 ¤òÊÖ¤¹ (¤Þ¤¿¡¢ errno ¤¬¥¨¥é¡¼¤ÎÆâÍƤˤ·¤¿¤¬¤Ã¤ÆŬÀÚ¤ËÀßÄꤵ¤ì¤ë)¡£

¥¨¥é¡¼

EACCES
¥×¥í¥»¥¹¤¬¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î½ñ¤­¹þ¤ßµö²Ä¤ò»ý¤¿¤Ê¤¤¡£¤â¤·¤¯¤Ï pathname Ãæ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤É¤ì¤«¤Ë¸¡º÷µö²Ä°À­¤¬Ìµ¤¤ (path_resolution(7) ¤â»²¾È)¡£
EEXIST
pathname ¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤ë(¤¿¤À¤·¤½¤ì¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ë¤È¤Ï¸Â¤é¤Ê¤¤)¡£ pathname ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¤â (¤½¤Î»ØÄêÀ褬¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ë´Ø¤é¤º)¥¨¥é¡¼¤Ë¤Ê¤ë¡£
EFAULT
pathname ¤¬¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
ELOOP
¥Ñ¥¹Ì¾ pathname ¤ò²ò·è¤¹¤ë¤È¤­¤Ë¡¢²ò·è¤¹¤Ù¤­¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬Â¿¤¹¤®¤¿¡£
ENAMETOOLONG
pathname ¤¬Ä¹¤¹¤®¤ë¡£
ENOENT
pathname ¤Î¹½À®Í×ÁǤΥǥ£¥ì¥¯¥È¥ê¤Î¤¤¤º¤ì¤«¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢ ¤Þ¤¿¤Ï¥ê¥ó¥¯À褬¸ºß¤·¤Ê¤¤¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ë¡£
ENOMEM
¥«¡¼¥Í¥ë¤Ë¡¢ÍøÍѤǤ­¤ë¥á¥â¥ê¤¬ÉÔ­¤·¤Æ¤¤¤ë¡£
ENOSPC
pathname ¤ò´Þ¤à¥Ç¥Ð¥¤¥¹¤Ë¿·¤¿¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë¶õ¤­¤¬Ìµ¤¤¡£ ¤â¤·¤¯¤Ï¥æ¡¼¥¶¡¼¤Î¥Ç¥£¥¹¥¯ 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), mkdirat(2), mknod(2), mount(2), rmdir(2), stat(2), umask(2), unlink(2), path_resolution(7)