OSDN Git Service

0883814d491fad0fbce88d995d3f9f927799463c
[linuxjm/LDP_man-pages.git] / release / man2 / mknod.2
1 .\" Hey Emacs! This file is -*- nroff -*- source.
2 .\"
3 .\" This manpage is Copyright (C) 1992 Drew Eckhardt;
4 .\"                               1993 Michael Haardt
5 .\"                               1993,1994 Ian Jackson.
6 .\" You may distribute it under the terms of the GNU General
7 .\" Public License. It comes with NO WARRANTY.
8 .\"
9 .\" Modified 1996-08-18 by urs
10 .\" Modified 2003-04-23 by Michael Kerrisk
11 .\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
12 .\"
13 .\"
14 .\" Japanese Version Copyright (c) 1997 SUTO, Mitsuaki
15 .\"         all rights reserved.
16 .\" Translated 1997-06-26, SUTO, Mitsuaki <suto@av.crl.sony.co.jp>
17 .\" Updated & Modified 1999-03-01, NAKANO Takeo <nakano@apm.seikei.ac.jp>
18 .\" Updated & Modified 2001-06-04, Yuichi SATO <ysato@h4.dion.ne.jp>
19 .\" Updated & Modified 2003-07-26, Yuichi SATO <ysato444@yahoo.co.jp>
20 .\" Updated & Modified 2004-12-31, Yuichi SATO
21 .\" Updated 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
22 .\"
23 .\"WORD:        node            ¥Î¡¼¥É
24 .\"WORD:        permission      µö²Ä°À­
25 .\"WORD:        resolve         (¥Ñ¥¹Ì¾¤ò) ²ò·è¤¹¤ë
26 .\"
27 .TH MKNOD 2 2010-09-20 "Linux" "Linux Programmer's Manual"
28 .SH Ì¾Á°
29 mknod \- Æüì¥Õ¥¡¥¤¥ë¤äÄ̾ï¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë
30 .SH ½ñ¼°
31 .nf
32 .B #include <sys/types.h>
33 .B #include <sys/stat.h>
34 .B #include <fcntl.h>
35 .B #include <unistd.h>
36 .sp
37 .BI "int mknod(const char *" pathname ", mode_t " mode ", dev_t " dev );
38 .fi
39 .sp
40 .in -4n
41 glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
42 .RB ( feature_test_macros (7)
43 »²¾È):
44 .in
45 .sp
46 .BR mknod ():
47 .ad l
48 .RS 4
49 _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
50 _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
51 .RE
52 .ad
53 .SH ÀâÌÀ
54 ¥·¥¹¥Æ¥à¥³¡¼¥ë
55 .BR mknod ()
56 ¤Ï
57 .I pathname
58 ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¡¦¥Î¡¼¥É
59 (¥Õ¥¡¥¤¥ë¡¢¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¢Ì¾Á°ÉÕ¤­¥Ñ¥¤¥×) ¤ò¡¢
60 °À­
61 .I mode
62 ¤È
63 .I dev
64 ¤Î»ØÄê¤Ë¤·¤¿¤¬¤Ã¤ÆºîÀ®¤¹¤ë¡£
65
66 .I mode
67 °ú¤­¿ô¤Ë¤Ï¡¢ºîÀ®¤¹¤ë¥Î¡¼¥É¤Îµö²Ä°À­ (permission) ¤È¥¿¥¤¥×¤ò»ØÄꤹ¤ë¡£
68 .I mode
69 ¤Î»ØÄê¤Ï°Ê²¼¤Ë¤¢¤²¤ë¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Î¤¦¤Á¤Î 1 ¤Ä¤È¡¢
70 µö²Ä°À­¤ÎÁȹ礻 (¥Ó¥Ã¥È¤´¤È¤Î OR ¤ò»ÈÍÑ) ¤Ç¹Ô¤¦¡£
71
72 µö²Ä°À­¤ÏÄ̾ïÄ̤ꡢ¥×¥í¥»¥¹¤Î
73 .I umask
74 ¤Ë¤è¤Ã¤Æ½¤Àµ¤µ¤ì¡¢ºîÀ®¤µ¤ì¤¿¥Î¡¼¥É¤Îµö²Ä°À­¤Ï
75 .I "(mode & ~umask)"
76 ¤È¤Ê¤ë¡£
77
78 ¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Ë¤Ï
79 .BR S_IFREG ,
80 .BR S_IFCHR ,
81 .BR S_IFBLK ,
82 .BR S_IFIFO ,
83 .B S_IFSOCK
84 .\" (S_IFSOCK ¤Ï Linux 1.2.4 ¤«¤é¸ºß¤¹¤ë)
85 ¤Î¤¤¤º¤ì¤«¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
86 ¤½¤ì¤¾¤ì½ç¤Ë¡¢Ä̾ï¤Î¥Õ¥¡¥¤¥ë (¶õ¤Î¥Õ¥¡¥¤¥ë¤È¤·¤ÆºîÀ®¤µ¤ì¤ë)¡¦
87 ¥­¥ã¥é¥¯¥¿¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¦¥Ö¥í¥Ã¥¯¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¦
88 FIFO (̾Á°ÉÕ¤­¥Ñ¥¤¥×)¡¦UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ç¤¢¤ë
89 (¥Õ¥¡¥¤¥ë¥¿¥¤¥× 0 ¤Ï
90 .B S_IFREG
91 ¤ÈƱ¤¸¤Ç¤¢¤ë)¡£
92
93 ¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬
94 .B S_IFCHR
95 ¤Þ¤¿¤Ï
96 .B S_IFBLK
97 ¤Î¤È¤­¡¢
98 .I dev
99 ¤Ë¤ÏºîÀ®¤¹¤ë¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤Î¥á¥¸¥ã¡¼ÈÖ¹æ¤È
100 ¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤ò»ØÄꤹ¤ë
101 .RB ( makedev (3)
102 ¤Ï
103 .I dev
104 ¤Î¤³¤ì¤é¤ÎÈÖ¹æ¤òºîÀ®¤¹¤ëºÝ¤ËÌòΩ¤Ä¤À¤í¤¦)¡£
105 ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï
106 .I dev
107 ¤Ï̵»ë¤µ¤ì¤ë¡£
108
109 .I pathname
110 ¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¡¢¤Þ¤¿¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¾ì¹ç¡¢
111 ¤³¤Î¸Æ¤Ó½Ð¤·¤Ï
112 .B EEXIST
113 ¥¨¥é¡¼¤Ç¼ºÇÔ¤¹¤ë¡£
114
115 ¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¥Î¡¼¥É¤Î½êÍ­¼Ô¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶ ID ¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£
116 ¿·¤¿¤Ëºî¤é¤ì¤¿¥Î¡¼¥É¤òÊÝ»ý¤¹¤ë
117 ¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î set-group-ID ¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤¿¤ê¡¢
118 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ BSD ¤Î¥°¥ë¡¼¥×¥»¥Þ¥ó¥Æ¥£¥¯¥¹¤Ë¤·¤¿¤¬¤Ã¤Æ
119 ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¿·¤·¤¤¥Î¡¼¥É¤Î¥°¥ë¡¼¥×½êÍ­¸¢¤Ï¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î
120 ¥°¥ë¡¼¥×½êÍ­¸¢¤ò·Ñ¾µ¤¹¤ë (¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤ÈƱ¤¸¤Ë¤Ê¤ë)¡£
121 ¤Þ¤¿¡¢¤½¤¦¤Ç¤Ê¤«¤Ã¤¿¾ì¹ç¤Î½êÍ­¥°¥ë¡¼¥×¤Ï¥×¥í¥»¥¹¤Î¼Â¸ú¥°¥ë¡¼¥× ID ¤È¤Ê¤ë¡£
122 .SH ÊÖ¤êÃÍ
123 .BR mknod ()
124 ¤ÏÀ®¸ù¤·¤¿¾ì¹ç 0 ¤ò¡¢¼ºÇÔ¤·¤¿¾ì¹ç \-1 ¤òÊÖ¤¹
125 (¼ºÇÔ¤·¤¿¾ì¹ç
126 .I errno
127 ¤¬¥¨¥é¡¼¤ÎÆâÍƤˤ·¤¿¤¬¤Ã¤Æ¥»¥Ã¥È¤µ¤ì¤ë)¡£
128 .SH ¥¨¥é¡¼
129 .TP
130 .B EACCES
131 ¥×¥í¥»¥¹¤¬¿Æ¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î½ñ¤­¹þ¤ßµö²Ä¤ò»ý¤¿¤Ê¤¤¡£
132 ¤â¤·¤¯¤Ï¥Ñ¥¹Ì¾
133 .I pathname
134 Ãæ¤Î¥Ç¥£¥ì¥¯¥È¥êÉôʬ¤Î¤É¤ì¤«¤Ë¸¡º÷µö²Ä°À­¤¬Ìµ¤¤
135 .RB ( path_resolution (7)
136 ¤â»²¾È¤¹¤ë¤³¤È)¡£
137 .TP
138 .B EEXIST
139 .I pathname
140 ¤¬´û¤Ë¸ºß¤¹¤ë¡£
141 ¤³¤ì¤Ë¤Ï
142 .I pathname
143 ¤¬¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤Ç¤¢¤ë¾ì¹ç¤â´Þ¤Þ¤ì¤ë
144 (¥·¥ó¥Ü¥ê¥Ã¥¯¡¦¥ê¥ó¥¯¤¬²õ¤ì¤Æ¤¤¤ë¤« (dangling) ¤É¤¦¤«¤Ï´Ø·¸¤Ê¤¤)¡£
145 .TP
146 .B EFAULT
147 .I pathname
148 ¤¬¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥¯¥»¥¹²Äǽ¤Ê¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
149 .TP
150 .B EINVAL
151 .I mode
152 ¤¬Ä̾ï¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥Ð¥¤¥¹¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¡¦FIFO¡¦¥½¥±¥Ã¥È°Ê³°¤ò
153 ºîÀ®¤¹¤ë¤è¤¦¤Ë¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¡£
154 .TP
155 .B ELOOP
156 ¥Ñ¥¹Ì¾
157 .I pathname
158 ¤ò²ò·è¤¹¤ë¤È¤­¤Ë¡¢´Þ¤Þ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬Â¿¤¹¤®¤¿¡£
159 .TP
160 .B ENAMETOOLONG
161 .I pathname
162 ¤¬Ä¹²á¤®¤ë¡£
163 .TP
164 .B ENOENT
165 .I pathname
166 Ãæ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢
167 ¤Þ¤¿¤Ï¥ê¥ó¥¯Àè¤Î̵¤¤¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ë¡£
168 .TP
169 .B ENOMEM
170 ½½Ê¬¤Ê¥«¡¼¥Í¥ë¥á¥â¥ê¤¬Ìµ¤¤¡£
171 .TP
172 .B ENOSPC
173 .I pathname
174 ¤Î¤¢¤ë¥Ç¥Ð¥¤¥¹¤Ë¿·¤¿¤Ë¥Î¡¼¥É¤òºîÀ®¤¹¤ë¶õ¤­¤¬Ìµ¤¤¡£
175 .TP
176 .B ENOTDIR
177 .I pathname
178 Ãæ¤Î¥Ç¥£¥ì¥¯¥È¥êÍ×ÁǤ¬¡¢¼ÂºÝ¤Ë¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¡£
179 .TP
180 .B EPERM
181 .I mode
182 ¤ÏÄ̾ï¤Î¥Õ¥¡¥¤¥ë¡¦FIFO (̾Á°ÉÕ¤­¥Ñ¥¤¥×)¡¦UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È°Ê³°¤ò
183 ºîÀ®¤¹¤ë¤è¤¦¤Ë¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¼Â¹Ô¼Ô¤¬Æø¢
184 (Linux ¤Ç¤Ï
185 .B CAP_MKNOD
186 ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (capability)) ¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
187 .\" UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤ÈÄ̾ï¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ mknod() ¤ò¹Ô¤¦¤È¡¢
188 .\" Linux 2.2 °ÊÁ°¤Ç¤Ï EPERM ¤òÊÖ¤¹¤À¤±¤Ç¤¢¤ë¡£
189 .\" Linux 2.4 °Ê¹ß¤Ç¤ÏÆø¢¤ò»ý¤Ã¤Æ¤¤¤Ê¤¯¤Æ¤â¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ò
190 .\" ºîÀ®¤¹¤ë¤Î¤Ë mknod() ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
191 ¤Þ¤¿¤Ï
192 .I pathname
193 ¤òÊÝ»ý¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¡¢»ØÄꤵ¤ì¤¿¥Î¡¼¥É·Á¼°¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
194 .TP
195 .B EROFS
196 .I pathname
197 ¤¬Æɤ߽Ф·ÀìÍÑ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Î¥Õ¥¡¥¤¥ë¤ò»Ø¤·¤Æ¤¤¤ë¡£
198 .SH ½àµò
199 SVr4, 4.4BSD, POSIX.1-2001 (²¼µ­¤â»²¾È).
200 .\" Linux ¤Î¼ÂÁõ¤Ï SVr4 ¤Î¼ÂÁõ¤È°Û¤Ê¤ê¡¢¥Ñ¥¤¥×¤ÎºîÀ®¤Ë¤Ï root ¸¢¸Â¤¬ÉÔÍפǤ¢¤ë¡£
201 .\" ¤Þ¤¿ EMULTIHOP ¤È ENOLINK ¤È EINTR ¤Î¥¨¥é¡¼¤Ë¤Ä¤¤¤Æ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
202 .SH Ãí°Õ
203 POSIX.1-2001 ¤Ç¤Ï¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¤¤ë¡§
204 .RB ¡Ö mknod ()
205 ¤ÎÍ£°ì¤Î°Ü¿¢À­¤Î¤¢¤ë»ÈÍÑË¡¤Ï¡¢FIFO ¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£
206 .I mode
207 ¤¬
208 .B S_IFIFO
209 ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï
210 .I dev
211 ¤¬ 0 ¤Ç¤Ï¤Ê¤¤¾ì¹ç¡¢
212 .BR mknod ()
213 ¤ÎµóÆ°¤Ïµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¡£¡×
214 ¤·¤«¤·¤Ê¤¬¤é¡¢¸½ºß¤Ç¤Ï¤³¤ÎÌÜŪ¤Î¤¿¤á¤Ë
215 .BR mknod ()
216 ¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£¤³¤ÎÌÜŪ¤Î¤¿¤á¤ËÆÃÊ̤ËÄêµÁ¤µ¤ì¤¿´Ø¿ô¤Ç¤¢¤ë
217 .BR mkfifo ()
218 ¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ë¡£
219
220 Linux ¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë¤¿¤á¤Ë
221 ¤³¤Î¸Æ¤Ó½Ð¤·¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
222 ¥Ç¥£¥ì¥¯¥È¥ê¤Ï
223 .BR mkdir (2)
224 ¤ÇºîÀ®¤¹¤Ù¤­¤Ç¤¢¤ë¡£
225 .\" UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È¤Ï socket(2) ¤È bind(2) ¤ÇºîÀ®¤¹¤Ù¤­¤Ç¤¢¤ë¡£
226
227 NFS ¤ò¼Â¸½¤·¤Æ¤¤¤ë¥×¥í¥È¥³¥ë¤Ë¤Ï¿¤¯¤ÎÉÔÈ÷¤¬Â¸ºß¤·¡¢
228 ¤½¤ì¤é¤Î¤¤¤¯¤Ä¤«¤Ï
229 .BR mknod ()
230 ¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¡£
231 .SH ´ØÏ¢¹àÌÜ
232 .BR chmod (2),
233 .BR chown (2),
234 .BR fcntl (2),
235 .BR mkdir (2),
236 .BR mknodat (2),
237 .BR mount (2),
238 .BR socket (2),
239 .BR stat (2),
240 .BR umask (2),
241 .BR unlink (2),
242 .BR makedev (3),
243 .BR mkfifo (3),
244 .BR path_resolution (7)