Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

MKNOD

Section: Linux Programmer's Manual (2)
Updated: 29 March 1994
Index Return to Main Contents
 

̾Á°

mknod - ÆÃ¼ì¥Õ¥¡¥¤¥ë¤äÄ̾ï¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë  

½ñ¼°

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

int mknod(const char *pathname, mode_t mode, dev_t dev);
 

ÀâÌÀ

mknod ¤Ï pathname ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¦¥Î¡¼¥É (¥Õ¥¡¥¤¥ë¡¢ ¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¢Ì¾Á°ÉÕ¤­¥Ñ¥¤¥×) ¤ò¡¢ mode ¤È dev ¤Î»ØÄê¤Ë¤·¤¿¤¬¤Ã¤ÆºîÀ®¤¹¤ë¡£

mode ¤Ë¤ÏºîÀ®¤¹¤ë¥Î¡¼¥É¤Îµö²Ä°À­ (permission) ¤È¥¿¥¤¥×¤ò»ØÄꤹ¤ë¡£

mode ¤Ë¤Ï°Ê²¼¤Ë¤¢¤²¤ë¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Î¤¦¤Á¤Î1¤Ä¤È¡¢µö²Ä°À­¤Î Áȹ礻 (¥Ó¥Ã¥È¤´¤È¤Î OR ¤ò»ÈÍÑ) ¤Ç»ØÄꤹ¤ë¡£

µö²Ä°À­¤ÏÄ̾ïÄ̤ꡢ¥×¥í¥»¥¹¤Î umask ¤Ë¤è¤Ã¤Æ½¤Àµ¤µ¤ì¡¢ºîÀ®¤µ¤ì¤¿¥Î¡¼¥É¤Îµö²Ä°À­¤Ï (mode & ~umask) ¤È¤Ê¤ë¡£

¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Ë¤Ï S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO ¤Î¤¤¤º¤ì¤«¤ò»ØÄꤹ¤ë¡£¤½¤ì¤¾¤ì½ç¤Ë¡¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë (¶õ¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ ºîÀ®¤µ¤ì¤ë)¡¢¥­¥ã¥é¥¯¥¿¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¢¥Ö¥í¥Ã¥¯¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¢ FIFO (̾Á°ÉÕ¤­¥Ñ¥¤¥×)¤Ç¤¢¤ë¡£ 0 ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¡¢¤³¤Î¾ì¹ç¤Ï Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¡£

¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬ S_IFCHR ¤Þ¤¿¤Ï S_IFBLK ¤Î¤È¤­¡¢ dev ¤Ë¤ÏºîÀ®¤¹¤ë¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤Î¥á¥¸¥ã¡¼ÈÖ¹æ¤È ¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ò»ØÄꤹ¤ë¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï dev ¤Ï̵»ë¤µ¤ì¤ë¡£

pathname ¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¡¢ ¤³¤Î¸Æ¤Ó½Ð¤·¤Ï EEXIST ¥¨¥é¡¼¤Ç¼ºÇÔ¤¹¤ë¡£

¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¥Î¡¼¥É¤Î½êÍ­¼Ô¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú UID ¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£ ¿·¤¿¤Ëºî¤é¤ì¤¿¥Î¡¼¥É¤òÊÝ»ý¤¹¤ë ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î set group id ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤¿¤ê¡¢ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ BSD ¤Î¥°¥ë¡¼¥×¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë½¾¤Ã¤Æ ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¿·¤·¤¤¥Î¡¼¥É¤Î¥°¥ë¡¼¥×½êÍ­¸¢¤Ï¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î ¥°¥ë¡¼¥×½êÍ­¸¢¤ò·Ñ¾µ¤¹¤ë (¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¤Ë¤Ê¤ë)¡£ ¤Þ¤¿¡¢¤½¤¦¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¤Î½êÍ­¥°¥ë¡¼¥×¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú GID ¤È¤Ê¤ë¡£  

ÊÖ¤êÃÍ

mknod ¤ÏÀ®¸ù¤·¤¿¾ì¹ç 0 ¤ò¡¢¼ºÇÔ¤·¤¿¾ì¹ç -1 ¤òÊÖ¤¹ (¼ºÇÔ¤·¤¿¾ì¹ç errno ¤¬¥¨¥é¡¼¤ÎÆâÍÆ¤Ë¤·¤¿¤¬¤Ã¤Æ¥»¥Ã¥È¤µ¤ì¤ë)¡£  

¥¨¥é¡¼

EPERM
mode ¤¬ FIFO (̾Á°ÉÕ¤­¥Ñ¥¤¥×) °Ê³°¤òºîÀ®¤¹¤ë¤è¤¦¤Ë¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤¬ ¼Â¹Ô¼Ô¤¬¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤Ç¤Ï¤Ê¤¤¡£¤Þ¤¿¤Ï pathname ¤òÊÝ»ý¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬»ØÄꤵ¤ì¤¿¥Î¡¼¥É·Á¼°¤ò ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
EINVAL
mode ¤¬Ä̾ï¤Î¥Õ¥¡¥¤¥ë¡¢¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¢FIFO °Ê³°¤Ë ¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¡£
EEXIST
pathname ¤¬´û¤Ë¸ºß¤¹¤ë¡£
EFAULT
pathname ¤¬¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
EACCES
¥×¥í¥»¥¹¤¬¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î½ñ¤­¹þ¤ßµö²Ä¤ò»ý¤¿¤Ê¤¤¡£¤â¤·¤¯¤Ï pathname Ãæ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤É¤ì¤«¤Ë¸¡º÷ (¼Â¹Ô) µö²Ä°À­¤¬Ìµ¤¤¡£
ENAMETOOLONG
pathname ¤¬Ä¹²á¤®¤ë¡£
ENOENT
pathname Ãæ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢ ¤Þ¤¿¤Ï¥ê¥ó¥¯Àè¤Î̵¤¤¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ë¡£
ENOTDIR
pathname Ãæ¤Î¥Ç¥£¥ì¥¯¥È¥êÍ×ÁǤ¬¡¢¼ÂºÝ¤Ë¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
ENOMEM
½½Ê¬¤Ê¥«¡¼¥Í¥ë¥á¥â¥ê¤¬Ìµ¤¤¡£
EROFS
pathname ¤¬ÆÉ¤ß½Ð¤·ÀìÍÑ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î¥Õ¥¡¥¤¥ë¤ò»Ø¤·¤Æ¤¤¤ë¡£
ELOOP
¥Ñ¥¹Ì¾ pathname ¤ò²ò·è¤¹¤ë¤È¤­¤Ë¡¢´Þ¤Þ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬Â¿¤¹¤®¤¿¡£
ENOSPC
pathname ¤Î¤¢¤ë¥Ç¥Ð¥¤¥¹¤Ë¿·¤¿¤Ë¥Î¡¼¥É¤òºîÀ®¤¹¤ë¶õ¤­¤¬Ìµ¤¤¡£
 

½àµò

SVr4 (¤¿¤À¤·¤³¤Î´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤Ë¤ÏÆÃ¸¢¤¬É¬ÍפʤΤǡ¢POSIX ¤Ç¤Ï µ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤), 4.4BSD¡£ Linux ¤Î¼ÂÁõ¤Ï SVr4 ¤Î¼ÂÁõ¤È°Û¤Ê¤ê¡¢¥Ñ¥¤¥×¤ÎºîÀ®¤Ë¤Ï root ¸¢¸Â¤¬ÉÔÍפǤ¢¤ë¡£ ¤Þ¤¿ EMULTIHOP ¤È ENOLINK ¤È EINTR ¤Î¥¨¥é¡¼¤Ë¤Ä¤¤¤Æ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¡£  

Ãí°Õ

Austin ¤Î¥É¥é¥Õ¥È¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¤¤ë¡§ ¡Ömknod() ¤ÎÍ£°ì¤Î°Ü¿¢À­¤Î¤¢¤ë»ÈÍÑË¡¤Ï¡¢FIFO ¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£ mode ¤¬ S_IFIFO ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï dev ¤¬ 0 ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢ mknod() ¤Îµóư¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£¡×

Linux ¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ä¥½¥±¥Ã¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Ë ¤³¤Î¸Æ¤Ó½Ð¤·¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£ ¤Þ¤¿¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼°Ê³°¤Î¥æ¡¼¥¶¡¼¤¬ Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¤Ê¤¤¡£ ¥Ç¥£¥ì¥¯¥È¥ê¤Ï mkdir ¤Ç¡¢FIFO ¤Ï mkfifo ¤ÇºîÀ®¤¹¤Ù¤­¤Ç¤¢¤ë¡£

NFS ¤ò¼Â¸½¤·¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¤Ë¤Ï¿¤¯¤ÎÉÔÈ÷¤¬Â¸ºß¤·¡¢ ¤½¤ì¤é¤Î¤¤¤¯¤Ä¤«¤Ï mknod ¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¡£  

´ØÏ¢¹àÌÜ

close(2), fcntl(2), mkdir(2), mount(2), open(2), read(2), socket(2), stat(2), umask(2), unlink(2), write(2), fopen(3), mkfifo(3)


 

Index

̾Á°
½ñ¼°
ÀâÌÀ
ÊÖ¤êÃÍ
¥¨¥é¡¼
½àµò
Ãí°Õ
´ØÏ¢¹àÌÜ

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.