Rechercher une page de manuel
open
Langue: ko
Version: June 3, 1999 (ubuntu - 01/11/07)
Section: 2 (Appels système)
À̸§
open, creat - ÆÄÀÏÀ̳ª ÀåÄ¡¸¦ ¿°í »ý¼ºÇÑ´Ù.»ç¿ë¹ý
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); int creat(const char *pathname, mode_t mode);
¼³¸í
open() ½Ã½ºÅÛ È£ÃâÀº ÆÄÀÏ µð½ºÅ©¸³ÅÍ¿¡¼ °æ·Î¸í Àüȯ¿¡ »ç¿ëµÈ´Ù. È£ÃâÀÌ ¼º°øÇϸé, ¹ÝȯµÇ´Â ÆÄÀÏ µð½ºÅ©¸³ÅÍ´Â ÇÁ·Î¼¼½º¸¦ À§ÇØ ¿¸®Áö ¾Ê´Â´Ù. ÀÌ È£ÃâÀº ¸ðµç ´Ù¸¥ ÇÁ·Î¼¼½º°¡ °øÀ¯ÇÏÁö ¾Ê´Â »õ·Î¿î ÆÄÀÏÀ» »ý¼ºÇÑ´Ù. flags ´Â ÆÄÀÏÀ» read-only, write-only, read/write·Î ¿©´Â ¿äûÀ» ÇÏ´Â O_RDONLY, O_WRONLY or O_RDWR Áß ÇϳªÀÌ´Ù. flags ´Â ¶ÇÇÑ ´ÙÀ½Áß ÇϳªÀÌ»óÀ» °¡Áø bitwise-or'd ÀÏ·±Áö ¸ð¸¥´Ù:- O_CREAT
- ÆÄÀÏÀÌ ¾øÀ¸¸é »ý¼ºµÉ°ÍÀÌ´Ù.
- O_EXCL
- When used with O_CREAT ¸¦ »ç¿ëÇÒ ¶§, ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÑ´Ù¸é ¿¡·¯³ª ÆÄÀÏÀ» ¿©´Âµ¥ ½ÇÆÐÇÒ °ÍÀÌ´Ù. O_EXCL ´Â NFS ÆÄÀÏ ½Ã½ºÅÛÀ» ±ü´Ù. Àá±ÝÆÄÀÏÀ» »ç¿ëÇÏ´Â automicÆÄÀÏ Àá±ÝÀ» ½ÇÇàÇϱâÀ§ÇÑ ¼Ö·ç¼ÇÀº °°Àº ÆÄÀÏ ½Ã½ºÅÛ¿¡ ƯÁ¤ÆÄÀÏÀ» »ý¼ºÇϱâ À§ÇÔÀÌ´Ù.
- O_NOCTTY
- °æ·Î¸í ÀÌ Å͹̳ΠÀåÄ¡¸¦ ¾ð±ÞÇÑ´Ù¸é tty(4) ¸¦ º»´Ù.
- O_TRUNC
- ÆÄÀÏÀÌ ÀÌ¹Ì Á¸ÀçÇÑ´Ù¸é ±×°ÍÀº »ý·«µÉ °ÍÀÌ´Ù.
- O_APPEND
- ÆÄÀÏÀÌ Ãß°¡¸ðµå¿¡ ¿·ÁÀÖ´Ù. °¢°¢ ±â·Ï µÇ±â Àü¿¡ ÆÄÀÏÆ÷ÀÎÅÍ´Â lseek °¡ ÀÖ´Â °Íó·³ ÆÄÀÏÀÇ ³¡¿¡ À§Ä¡ÇÑ´Ù. O_APPEND ´Â Àû¾îµµ Çϳª ÀÌ»óÀÇ ÇÁ·Î¼¼½º°¡ ÆÄÀÏ¿¡ µ¥ÀÌŸ¸¦ Ãß°¡ÇÑ´Ù¸é NFSÆÄÀÏ ½Ã½ºÅÛ»ó¿¡ º¯Áú(correpted)µÈ ÆÄÀÏÀ» À̲ö´Ù. À̰ÍÀº NFS°¡ ÆÄÀÏ¿¡ Ãß°¡¸¦ Áö¿øÇÏÁö ¾Ê±â¶§¹®ÀÌ´Ù. ±×·¡¼ Ŭ¶óÀÌ¾ðÆ® Ä¿³ÎÀº ±×°ÍÀ» ½Ã¹Ä·¹ÀÌÆ®ÇÑ´Ù.
- O_NONBLOCK or O_NDELAY
- ÆÄÀÏÀº ºñºí·Ï ¸ðµå·Î ¿¸°´Ù.
- O_SYNC
- ÆÄÀÏÀº ÀÔÃâ·Â µ¿±âȸ¦ À§ÇØ ¿¸°´Ù. ÆÄÀÏ µð½ºÅ©¸³ÅÍ °á°ú ¸ðµç writes ´Â µ¥ÀÌŸ°¡ ¹°¸®ÀûÀ¸·Î Çϵå¿þ¾î·Î ±â·ÏµÉ ¶§±îÁö È£Ãâ ÇÁ·Î¼¼½º¸¦ ºí·ÏÈ ÇÒ °ÍÀÌ´Ù. ¾Æ·¡ÀÇ RESTRICTIONS¸¦ º»´Ù.
- O_NOFOLLOW
- °æ·Î¸íÀÌ ½Éº¼¸¯ ¸µÅ©¶ó¸é, ÆÄÀÏ¿±â´Â ½ÇÆÐÇÑ´Ù. À̰ÍÀº ¸®´ª½º ¹öÀü 2.1.126¿¡ Ãß°¡µÈ freeBSDÈ®ÀåÀÌ´Ù. °æ·Î¸íÀÇ Ãʱ⠱¸¼ºÀÎ ½Éº¼¸¯ ¸µÅ©´Â °è¼Ó µû¸¦°ÍÀÌ´Ù. glibc2.0.100ÀÇ Çì´õ¿Í ÈÄ¿¡ ÀÌ Ç÷¡±×ÀÇ Á¤ÀǸ¦ Æ÷ÇÔÇÑ´Ù; Ä¿³Î 2.1.126ÀÌÀü¿¡¼ »ç¿ëÇÑ´Ù¸é ¹«½ÃÇÒ °ÍÀÌ´Ù.
- O_DIRECTORY
- °æ·Î¸íÀÌ µð·ºÅ丮°¡ ¾Æ´Ï¶ó¸é, ÆÄÀÏ¿±â´Â ½ÇÆÐÇÒ °ÍÀÌ´Ù. ÀÌ Ç÷¡±×´Â ¸®´ª½ºÀÇ Æ¯Â¡À̰í, opendir(3)°¡ FIFO³ª Å×ÀÔÀåÄ¡¿¡ È£ÃâµÈ´Ù¸é ¼ºñ½ºÀÇ °ÅºÎ¹®Á¦¸¦ ÇÇÇϱâ À§ÇØ ¸®´ª½º Ä¿³Î ¹öÀü 2.1.126¿¡ Ãß°¡µÇ¾ú´Ù. ±×·¯³ª opendir´Â ¿ÜºÎ¿¡¼ »ç¿ëµÉ ¼ö ¾ø´Ù.
- O_LARGEFILE
- ´ë¿ë·® ÆÄÀÏ ½Ã½ºÅÛÀ» Áö¿øÇÏ´Â 32ºñÆ® ½Ã½ºÅÛÀº 31ºñÆ®·Î´Â ¿¼ö ¾ø´Â Å©±âÀÇ ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸®´ª½º Ä¿³ÎÀº À̰ÍÀ» ¾ÆÁ÷Àº Áö¿øÇÏÁö ¸øÇÏÁö¸¸, glibc 2.1¿¡¼ Å×½ºÆÃµÇ¾ú´Ù.
¸î¸î ÀÌ·¯ÇÑ ¿É¼Ç Ç÷¡±×´Â ÆÄÀÏÀÌ ¿¸°ÈÄ »ç¿ëÇÏ´Â fcntl °¡ ¹Ù²ð ¼ö ÀÖ´Ù. ¸ðµå ´Â »õ·Î¿î ÆÄÀÏÀÌ »ý¼ºµÇ¸é »ç¿ë±ÇÇÑÀ» ÁöÁ¤ÇÑ´Ù. ´ë°³ ÇÁ·Î¼¼½ºÀÇ umask ·Î ¼öÁ¤ÇÑ´Ù: »ý¼ºµÈ ÆÄÀÏÀÇ ±ÇÇÑÀº (mode & ~umask) ÀÌ´Ù.
´ÙÀ½ÀÇ ½Éº¼¸¯ »ó¼ö´Â ¸ðµå ¸¦ À§ÇØ Á¦°øµÈ´Ù:
- S_IRWXU
- 00700 »ç¿ëÀÚ(ÆÄÀÏ ¼ÒÀ¯ÀÚ)´Â Àбâ, ¾²±â, ½ÇÇà±ÇÇÑÀÌ ÀÖ´Ù.
- S_IRUSR (S_IREAD)
- 00400 »ç¿ëÀÚ´Â Àб⠱ÇÇÑÀÌ ÀÖ´Ù.
- S_IWUSR (S_IWRITE)
- 00200 »ç¿ëÀÚ´Â ¾²±â ±ÇÇÑÀÌ ÀÖ´Ù.
- S_IXUSR (S_IEXEC)
- 00100 »ç¿ëÀÚ´Â ½ÇÇà ±ÇÇÑÀÌ ÀÖ´Ù.
- S_IRWXG
- 00070 ±×·ìÀº Àбâ, ¾²±â, ½ÇÇà ±ÇÇÑÀÌ ÀÖ´Ù.
- S_IRGRP
- 00040 ±×·ìÀº Àб⠱ÇÇÑÀÌ ÀÖ´Ù.
- S_IWGRP
- 00020 ±×·ìÀº ¾²±â ±ÇÇÑÀÌ ÀÖ´Ù.
- S_IXGRP
- 00010 ±×·ìÀº ½ÇÇà ±ÇÇÑÀÌ ÀÖ´Ù.
- S_IRWXO
- 00007 ±âŸ»ç¿ëÀÚ´Â Àбâ, ¾²±â, ½ÇÇà ±ÇÇÑÀÌ ÀÖ´Ù.
- S_IROTH
- 00004 ±âŸ»ç¿ëÀÚ´Â Àб⠱ÇÇÑÀÌ ÀÖ´Ù.
- S_IWOTH
- 00002 ±âŸ»ç¿ëÀÚ´Â ¾²±â ±ÇÇÑÀÌ ÀÖ´Ù.
- S_IXOTH
- 00001 ±âŸ»ç¿ëÀÚ´Â ½ÇÇà ±ÇÇÑÀÌ ÀÖ´Ù. ¸ðµå ´Â Ç×»ó O_CREAT °¡ Ç÷¡±× À϶§ ÁöÁ¤µÇ¾î¾ß¸¸Çϰí, ±×¹Û¿¡´Â ¹«½ÃÇÑ´Ù. »ý¼º Àº O_CREAT|O_WRONLY|O_TRUNC ¿Í ÀÏÄ¡ÇÏ´Â Ç÷¡±× ¸¦ °¡Áø ÆÄÀÏ¿±â ¿Í ÀÏÄ¡ÇÑ´Ù.
¹Ýȯ°ª
¿±â¿Í»ý¼º Àº ¿¡·¯°¡ ³ª¸é »õ·Î¿î ÆÄÀÏ µð½ºÅ©¸³Å͸¦ ¹ÝȯÇϰųª -1À» ¹ÝȯÇÑ´Ù. ÀÌ·±°æ¿ì errno ´Â ÀûÀýÈ÷ ¼³Á¤µÈ´Ù. Note that ¿±â ´Â ÀåÄ¡ÆÄÀÏÀ» ¿¼ø ÀÖÁö¸¸, »ý¼º Àº ÀåÄ¡ÆÄÀÏÀ» »ý¼º ÇÒ ¼ö ¾ø´Â °ÍÀ» ÁÖÁöÇÑ´Ù. ´ë½Å mknod(2) À» »ç¿ëÇÑ´Ù.UID ¸ÊÇÎÀÌ °¡´ÉÇÑ NFS ÆÄÀÏ ½Ã½ºÅÛ¿¡¼ ¿±â´Â ÆÄÀÏ µð½ºÅ©¸³Å͸¦ ¹ÝȯÇÏÁö¸¸, read(2)´Â °ÅºÎµÈ´Ù. À̰ÍÀº Ŭ¶óÀÌ¾ðÆ®°¡ ±ÇÇѰ˻翡 ÀÇÇØ ¿±â¸¦ ½ÇÇàÇÏÁö¸¸ UID ¸ÊÇÎÀº ¼¹ö¿¡ ÀÇÇØ ½ÇÇàÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
¿¡·¯
- EEXIST
- °æ·Î¸í ÀÌ ÀÌ¹Ì Á¸ÀçÇϰí, O_CREAT and O_EXCL °¡ »ç¿ëµÈ´Ù.
- EISDIR
- °æ·Î¸í ÀÌ µð·ºÅ丮¸¦ ÂüÁ¶Çϰí, Á¢±ÙÀº º¹ÀâÇÑ ±â·ÏÀ» ¿ä±¸Çß´Ù.
- EACCES
- ¿äûÇÑ ÆÄÀÏ Á¢±ÙÀº °ÅºÎµÇ°Å³ª °æ·Î¸í ÀÇ µð·ºÅ丮Áß Çϳª°¡ ½ÇÇà±ÇÇÑÀ» ãÀ» ¼ö ¾ø°Å³ª ÆÄÀÏÀÌ ¾ÆÁ÷ Á¸ÀçÇÏÁö ¾Ê°í ºÎ¸ðµð·ºÅ丮 Á¢±ÙÀÌ °Å ºÎµÆ´Ù.
- ENAMETOOLONG
- °æ·Î¸íÀ̳ʹ«±æ´Ù.
- ENOENT
- A directory component in °æ·Î¸í ÀÇ µð·ºÅ丮°¡ ¾ø°Å³ª ½Éº¼¸¯ ¸µÅ©°¡ ±úÁ³´Ù.
- ENOTDIR
- A component used as a directory in °æ·Î¸í ¿¡ µð·ºÅ丮·Î½á »ç¿ëµÇ´Â °ÍÀÌ ¾ø´Ù. »ç½Ç µð·ºÅ丮³ª O_DIRECTORY°¡ ÁöÁ¤µÇ¾ú°í °æ·Î¸í ÀÌ µð·ºÅ丮°¡ ¾Æ´Ï´Ù.
- ENXIO
- O_NONBLOCK | O_WRONLY°¡ ¼³Á¤µÇ°í, ÁöÁ¤ÇÑ ÆÄÀÏÀÌ FIFOÀÌ°í ¾î¶°ÇÑ ÇÁ·Î¼¼½ºµµ ÀбâÀ§ÇØ ¿¸° ÆÄÀÏÀÌ ¾ø´Ù. ¶Ç´Â, ÆÄÀÏÀÌ ÀåÄ¡ÆÄÀÏÀ̰í ÀÏÄ¡ÇÏ´Â ÀåÄ¡°¡ ¾ø´Ù.
- ENODEV
- °æ·Î¸í ÀÌ ÀåÄ¡ÆÄÀÏÀ» ÂüÁ¶Çϰí, ÀÏÄ¡ÇÏ´Â ÀåÄ¡°¡ ¾ø´Ù.
- EROFS
- °æ·Î¸í ÀÌ read-only ÆÄÀϽýºÅÛÀÇ ÆÄÀÏÀ» ÂüÁ¶ÇÏ°í ¾²±âÁ¢±ÙÀÌ ¿äûµÆ´Ù.
- ETXTBSY
- °æ·Î¸í ÀÌ ÇöÀç ½ÇÇàÁßÀÎ ½ÇÇàÀ̹ÌÁöÆÄÀÏÀ» ÂüÁ¶ÇÏ°í ¾²±â±ÇÇÑ Á¢±ÙÀÌ ¿äûµÇ¾ú´Ù.
- EFAULT
- °æ·Î¸íÀÌ´ç½ÅÀÌÁ¢±ÙÇÒ¼öÀÖ´ÂÁÖ¼Ò°ø°£¹ÛÀ»°¡¸®Å²´Ù.
- ELOOP
- ½Éº¼¸¯¸µÅ©°¡ ³Ê¹« ¸¹´Ù. °æ·Î¸í À̳ª O_NOFOLLOW°¡ ÁöÁ¤µÇ¾úÁö¸¸ °æ·Î¸í ÀÌ ½Éº¼¸¯ ¸µÅ©ÀÌ´Ù.
- ENOSPC
- °æ·Î¸í ÀÌ »ý¼ºµÇ¾úÁö¸¸ ÀåÄ¡°¡ °æ·Î¸í ÀÌ Æ÷ÇÔÇÏ´Â ÀåÄ¡°¡ »õ·Î¿î ÆÄÀÏÀ» À§ÇÑ °ø°£ÀÌ ¾ø´Ù.
- ENOMEM
- Ä¿³Î ¸Þ¸ð¸®°¡ ºÎÁ·ÇÏ´Ù.
- EMFILE
- ÇÁ·Î¼¼½º°¡ ÀÌ¹Ì ÆÄÀÏ¿±âÀÇ ÃÖ´ë°ª¿¡ á´Ù.
- ENFILE
- ÆÄÀÏ¿±âÀÇ ÃÑÇÕÁ¦ÇÑ¿¡ µµ´ÞÇß´Ù.
ȣȯ
SVr4, SVID, POSIX, X/OPEN, BSD 4.3Á¦ÇÑ
POSIXÀº O_SYNC, O_DSYNC ¿Í O_RSYNC¿¡ ÀÏÄ¡ÇÏ´Â ÀÔÃâ·Â µ¿±âÈÀÇ ¼¼°¡Áö ´Ù¸¥ º¯¼ö¸¦ Á¦°øÇÑ´Ù. ÇöÀç(2.1.130) ÀÌ·±°ÍµéÀº ¸®´ª½º¿¡¼ ¸ðµÎ °°Àº ¶æÀÌ´Ù.°ü·Ã Ç׸ñ
read(2), write(2), fcntl(2), close(2), link(2), mknod(2), mount(2), stat(2), umask(2), unlink(2), socket(2), fopen(3), fifo(4)¿ªÀÚ
ASPLINUX<man@asp-linux.co.kr>, 2000³â 7¿ù 29
L'amour... Il y a ceux qui en parlent et il y a ceux qui le font.
A partir de quoi, il m'apparaît urgent de me taire.
-+- Pierre Desproges -+-
A partir de quoi, il m'apparaît urgent de me taire.
-+- Pierre Desproges -+-
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre