ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. ÆÄÀÏÀÇ Á¾·ù
Unix ¿¡¼´Â µð·ºÅ丮, ÀåÄ¡, ¼ÒÄÏ, FIFO µî ¸ðµç°ÍÀÌ ÆÄÀÏ·Î Á¸ÀçÇÑ´Ù. ±×·¯¹Ç·Î ¿ì¼± ¿ì¸®´Â ÀÛ¾÷À» ÇϰíÀÚ ÇÏ´Â ÆÄÀÏÀÌ ¾î´ø Á¾·ùÀÇ ÆÄÀÏÀÎÁö¸¦ ¸ÕÀú ÆÇ´ÜÇÒ¼ö ÀÖ¾î¾ß ÇÑ´Ù. Unix »ó¿¡¼ "ls -al" À» ÀÌ¿ëÇÏ¸é ¾Æ·¡¿Í °°Àº °á°ú¹°À» º¼¼ö ÀÖÀ»°ÍÀÌ´Ù. [yundream@localhost test]# ls -al ... -rw-r--r-- 1 root root 249 9¿ù 10 11:25 wc.1 drwxr-xr-x 2 root root 4096 12¿ù 5 18:01 web_install srwxr-xr-x 1 root root 0 1¿ù 14 18:05 loging_socket ...
À§ÀÇ °á°ú¿¡¼ °¡Àå ¾ÕºÎºÐ 10ÀÚ¸®°¡ ±× ÆÄÀÏÀÇ Æ¯¼º°ú ±ÇÇÑÀ» ³ªÅ¸³»´Âµ¥, ±×Áß Á¦ÀÏ ¾ÕºÎºÐÀÌ ÆÄÀÏÀÇ Á¾·ù¸¦ ³ªÅ¸³»°í, ¿ì¸®´Â °¡Àå ¾ÕºÎºÐÀÇ ÇѹÙÀÌÆ®ÀÇ ¹®ÀÚ¸¦ ÀÌ¿ëÇØ¼ ¾î¶² Á¾·ùÀÇ ÆÄÀÏÀÎÁö¸¦ ¾Ë¾Æ³¾¼ö ÀÖ´Ù.<br> Unix ¿¡¼ ÀÚÁÖ »ç¿ëÇÏ´Â ÆÄÀÏÀÇ Á¾·ù¸¦ ¾Æ·¡ Å×ÀÌºí¿¡ Á¤¸®ÇØ µÎ¾úÀ¸´Ï Âü°í ¹Ù¶õ´Ù.
ÆÄÀÏ Á¤º¸ °¡Á®¿À±â
ÆÄÀÏÀÇ Á¤º¸´Â stat(2)¸¦ ÅëÇØ¼ °¡Áö°í ¿À¸ç, °¡Áö°í¿Â Á¤º¸´Â struct stat ±¸Á¶Ã¼¿¡ ÀúÀåµÈ´Ù. stat ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°Àº ³»¿ëÀ» °¡Áö°í ÀÖ´Ù. struct stat
{
dev_t st_dev; /* device */
ino_t st_ino; /* inode */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device type (if inode device) */
off_t st_size; /* total size, in bytes */
unsigned long st_blksize; /* blocksize for filesystem I/O */
unsigned long st_blocks; /* number of blocks allocated */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last change */
};
À§ÀÇ ±¸Á¶Ã¼ÀÇ Á¤º¸´Â inode Å×À̺íÀ» ÂüÁ¶Çؼ °¡Áö°í¿À¸ç, ¿ì¸®°¡ ÇÊ¿ä·Î ÇÏ´Â(±× ÀÌ»óÀÇ) »ó¼¼ÇÑ Á¤º¸¸¦ °¡Á®¿Â´Ù´Â °ÍÀ» ¾Ë¼ö ÀÖÀ»°ÍÀÌ´Ù. inode Å×ÀÌºí¿¡ ´ëÇÑ ³»¿ëÀ» ¿øÇÑ´Ù¸é /usr/src/linux/include/fs.h ÀÇ sturct inode ¸¦ ÂüÁ¶ÇÏ¸é µÈ´Ù.
±×·³ °£´ÜÇÑ ¿¹Á¦ ÇÁ·Î±×·¥À» ¸¸µé¾î º¸°Ú´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¾Æ±Ô¸ÕÆ®·Î ÆÄÀÏÀ̸§À» ¹Þ¾Æ¼ ±× ÆÄÀÏÀÇ Á¤º¸¸¦ µÇµ¹·ÁÁÖ´Â ÇÁ·Î±×·¥À¸·Î, ÆÄÀÏÀÇ ±ÇÇÑ, ÆÛ¹Ì¼Ç, ÆÄÀÏÀÇ Å©±â, ¸¶Áö¸·¿¡ ¼öÁ¤µÈ ³¯Â¥, ÆÄÀÏÀÇ Á¾·ù µîÀ» µÇµ¹·ÁÁÙ°ÍÀ̸ç, Á¸ÀçÇÏÁö ¾Ê´Â ÆÄÀÏÀÇ °æ¿ì ÀûÀýÇÑ ¿¡·¯¸Þ½ÃÁö¸¦ Ãâ·ÂÇϰí Á¾·áÇÏ°Ô µÉ°ÍÀÌ´Ù. <br> ÀÌ ¿¹Á¦ÀÇ À̸§Àº file_info ·Î ÇϰڴÙ. <br><br>
ÇÁ·Î±×·¥Àº ¾Æ¸¶ ¼³¸íÀÌ ÇÊ¿ä ¾øÀ» Á¤µµ·Î °£´ÜÇÒ°ÍÀÌ´Ù. ´ÜÁö ¸¶Áö¸·ÀÇ file_info.st_nlink (Çϵ帵ũ) ºÎºÐÀÌ ¾à°£ Çò°¥¸± °ÍÀÌ´Ù. Çϵ帵ũ¶õ º¸Åë C ÀÇ link(2) ÇÔ¼ö¿Í ½© ÄÚ¸àµåÀÎ link ¿¡ -d ¿É¼ÇÀ» ÁÜÀ¸·Î¼ ¸¸µé¾î Áø´Ù. cp ¸¦ ÀÌ¿ëÇÑ º¹»ç¿Í Çϵ帵ũ¸¦ È¥µ¿ÇÏÁö ¸»¶ó, cp ¸¦ ÀÌ¿ëÇÑ º¹»ç´Â ÀڽŸ¸ÀÇ inode ¸¦ °¡Áö´Â ÀüÇô »õ·Î¿î ÆÄÀÏÀ» ¸¸µéÁö¸¸, Çϵ帵ũÀÇ °æ¿ì µ¿ÀÏÇÑ inode ¸¦ °¡Áö°í ÆÄÀÏÀ̸§À» ¸¸µç´Ù. Çϵ帵ũ´Â inode ¸¦ °¡Áö°í ÆÄÀÏÀ̸§À» ¸¸µé¹Ç·Î ¼·Î ´Ù¸¥ ÆÄÀϽýºÅÛ »çÀÌ·Î ¿¬°áÇÒ¼ö´Â ¾ø´Ù.<br> ±× ÀÌÀ¯´Â inode °¡ ÇØ´ç ÆÄÀϽýºÅÛ¿¡¼¸¸ À¯ÀÏÇϱ⠶§¹®À¸·Î ¿©·¯°³ÀÇ ÆÄÀϽýºÅÛÀ» »ç¿ëÇÒ°æ¿ì ´Ù¸¥ ÂÊ ÆÄÀϽýºÅÛ¿¡¼ ±× inode °¡ À¯ÀÏÇÔÀ» º¸ÀåÇÒ¼ö ¾ø±â ¶§¹®ÀÌ´Ù. stat ´Â ³Ê¹« º¹ÀâÇÕ´Ï´Ù. ´õ °£´ÜÇÑ ÇÔ¼ö´Â ¾øÀ»±î¿ä?
¿ì¸®°¡ ¾î¶² ÇÁ·Î±×·¥À» ¸¸µé¶§, ¿ì¸®´Â Á¾Á¾ ±× ÇÁ·Î±×·¥ÀÌ »ç¿ëÇÏ´Â ÆÄÀÏ(¼³Á¤ÆÄÀÏ, µ¥ÀÌŸ ÆÄÀÏ)µéÀÌ Á¸ÀçÇÏ´ÂÁö µîÀ» °Ë»çÇÒ Çʿ䰡 ÀÖ´Ù. À̶§¿¡µµ À§ÀÇ stat ¸¦ ÀÌ¿ëÇØ¼ ÇØ°á ÇÒ¼ö ÀÖÁö¸¸, ¿ØÁö º¹ÀâÇÏ´Ù´Â »ý°¢À̵ç´Ù. <br> À̶§´Â access(2) ¸¦ »ç¿ëÇϸéµÈ´Ù.
access ´Â °Ë»çÇÒ ÆÄÀÏ¿¡ ´ëÇÏ¿© 4°¡Áö Ç׸ñ, ÀÐÀ»¼ö ÀÖ´ÂÁö(R_OK), ¾µ¼ö ÀÖ´ÂÁö (W_OK), ½ÇÇà°¡´É ÇÑÁö (X_OK), Á¸ÀçÇÏ´Â ÆÄÀÏÀÎÁö(F_OK) µî¿¡ ´ëÇÑ Á¤º¸¸¦ µ¹·ÁÁØ´Ù.
[yundream@localhost test]# gcc -o access access. ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀ½ : : No such file or directory ÆÄÀÏ Á¤º¸ º¯°æÇϱâ
ÆÄÀÏ Á¤º¸ µéÀ» º¸¸é ½Ã°£°ú °ü·ÃµÈ Á¤º¸µéÀÌ ÀÖ´Ù. ÆÄÀÏ¿¡ ´ëÇÑ Á¢±Ù, ¼öÁ¤ ½Ã°£ÀÌ À̵éÀε¥, utime(2)À» ÀÌ¿ëÇØ¼ º¯°æÇÒ ¼ö ÀÖ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ÇÔ¼ö¸µÅ©¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
|
|
||||||||||||||||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|