MKNOD

Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (2)
Updated: 1994³â 3¿ù 29ÀÏ
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´Â mode ¿Í dev ·Î ¸í½ÃµÈ, pathname À̸§ÀÇ ÆÄÀϽýºÅÛ ³ëµå (ÆÄÀÏ, ÀåÄ¡ Ư¼ö ÆÄÀÏ ¶Ç´Â named ÆÄÀÌÇÁ) ¸¦ »ý¼ºÇÑ´Ù.

mode´Â »ý¼ºµÉ ³ëµåÀÇ Å¸ÀÔ°ú ¼ÒÀ¯±ÇÀ» ¸í½ÃÇÑ´Ù.

ÀÌ´Â »õ·Î¿î ³ëµåÀÇ ¼ÒÀ¯±Ç°ú ¾Æ·¡¼­ ³ª¿­µÈ ÆÄÀÏ Å¸ÀÔÁß ÇϳªÀÇ Á¶ÇÕÀÌ (ºñÆ®¿¬»ê OR¸¦ »ç¿ëÇؼ­) µÇ¾î¾ßÇÑ´Ù.

¼ÒÀ¯±ÇÀº ÀϹÝÀûÀ¸·Î ÇÁ·Î¼¼½ºÀÇ umask¿¡ ÀÇÇØ ¼öÁ¤µÈ´Ù: »ý¼ºµÈ ³ëµåÀÇ ¼ÒÀ¯±ÇÀº (mode & ~umask)ÀÌ´Ù.

ÀÏ¹Ý ÆÄÀÏ (ºó »óÅ·Π¸¸µé¾îÁø´Ù), ¹®ÀÚ Æ¯¼ö ÆÄÀÏ, ºí·° Ư¼ö ÆÄÀÏ ¶Ç´Â FIFO (named ÆÄÀÌÇÁ)¸¦ »ý¼ºÇϱâ À§ÇÑ ÆÄÀÏ Å¸ÀÔÀº °¢°¢ S_IFREG, S_IFCHR, S_IFBLK ±×¸®°í S_IFIFO ÀÌ°í, ÀÏ¹Ý ÆÄÀÏÀ» »ý¼ºÇϱâ À§ÇØ 0µµ °¡´ÉÇÏ´Ù.

¸¸¾à ÆÄÀÏ Å¸ÀÔÀÌ S_IFCHR ¶Ç´Â S_IFBLKÀ̸é dev´Â »õ·Î »ý¼ºµÉ ÀåÄ¡ Ư¼ö ÆÄÀÏÀÇ ÁÖ(major), ºÎ(minor)¹øÈ£À̾î¾ß¸¸ ÇÑ´Ù; ±×·¸Áö ¾ÊÀ¸¸é, ¹«½ÃµÈ´Ù.

»õ·Î »ý¼ºµÈ ³ëµå´Â ÇÁ·Î¼¼½ºÀÇ À¯È¿ »ç¿ëÀÚ ID°¡ ¼ÒÀ¯±ÇÀ» °®´Â´Ù. ¸¸¾à ³ëµå°¡ À§Ä¡ÇÑ µð·ºÅ丮¿¡ set-group-id ºñÆ®°¡ ¼³Á¤µÇ¾î Àְųª, ÆÄÀÏ ½Ã½ºÅÛÀÌ BSD ±×·ì ÀǹÌ(semantic)¿¡ µû¶ó ¸¶¿îÆ®µÇ¾î ÀÖ´Ù¸é, »õ·Î¿î ³ëµå´Â ÀÚ½ÅÀÇ ºÎ¸ð µð·ºÅ丮·Î ºÎÅÍ ±×·ì ¼ÒÀ¯±ÇÀ» »ó¼Ó¹ÞÀ» °ÍÀÌ´Ù; ±×·¸Áö ¾ÊÀ¸¸é ÇÁ·Î¼¼½ºÀÇ À¯È¿ ±×·ì ID°¡ ±×·ì ¼ÒÀ¯±ÇÀ» °®´Â´Ù.  

¹Ýȯ°ª

mknod´Â ¼º°ø½Ã, 0À» ¸®ÅÏÇÏ°í ¿¡·¯½Ã, -1À» ¸®ÅÏÇÑ´Ù (ÀÌ °æ¿ì errno´Â ÀûÀýÈ÷ ¼³Á¤µÈ´Ù).  

¿¡·¯

EPERM
mode°¡ FIFO (named ÆÄÀÌÇÁ) ÀÌ¿ÜÀÇ °ÍÀ» »ý¼ºÇÏ·ÁÇÏ°í, È£ÃâÇÑ ÇÁ·Î¼¼½ºÀÇ ±ÇÇÑÀÌ ½´ÆÛÀ¯Àú(superuser)°¡ ¾Æ´Ï´Ù; ¶ÇÇÑ 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. ¸®´ª½º ¹öÀüÀº SVr4 ¹öÀü°ú´Â ´Ù¸£°Ô ÆÄÀÌÇÁ¸¦ »ý¼ºÇÒ ¶§ root ±ÇÇÑÀÌ ÇÊ¿ä¾ø°í, EMULTIHOP, ENOLINK, EINTR°ú °°Àº ¿¡·¯°¡ ±â¼úµÇ¾î ÀÖÁö ¾Ê´Ù.  

¹ö±×

mknod´Â µð·ºÅ丮³ª ¼ÒÄÏ ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ¾ø°í ½´ÆÛÀ¯Àú°¡ ¾Æ´Ñ À¯Àú°¡ ÀÏ¹Ý ÆÄÀÏÀ» »ý¼ºÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù.

NFSÀÇ ÇÁ·ÎÅäÄÝ¿¡´Â ¸¹Àº ¹ö±×°¡ Á¸ÀçÇÑ´Ù. ÀÌ·± ¹ö±×´Â mknod¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù.  

°ü·Ã Ç׸ñ

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

¿ªÀÚ

Á¤µ¿Çö <dhjung@serome.co.kr>, 2000³â 4¿ù 20ÀÏ


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
¹Ýȯ°ª
¿¡·¯
ȣȯ
¹ö±×
°ü·Ã Ç׸ñ
¿ªÀÚ

This document was created by man2html, using the manual pages.
Time: 08:07:00 GMT, March 25, 2004