¿ù°£ Àα⠰Խù°

°Ô½Ã¹° 9°Ç
   
¸®´ª½º ȯ°æ¿¡¼­ÀÇ C ÇÁ·Î±×·¡¹Ö - 2Àå ¸®´ª½º¿Í C
±Û¾´ÀÌ : ÃÖ°í°ü¸®ÀÚ ³¯Â¥ : 2009-11-30 (¿ù) 19:28 Á¶È¸ : 8131
±ÛÁÖ¼Ò :
                          

Ãâó - http://teamblog.joinc.co.kr/yundream/175

1 Linux ¿Í C

ÃÖÃÊ¿¡ C´Â ½Ã½ºÅÛ ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ ¾ð¾î·Î °³¹ßµÇ¾úÀ¸¸ç, »ó¾÷Àû¹× ÇнÀÀûÀÎ ¿ëµµ·Î ¼º°øÇÑ ÃÖÃÊÀÇ ¿î¿µÃ¼Á¦¶ó ÇÒ ¼ö ÀÖ´Â Unix¿î ¿µÃ¼Á¦¸¦ ¸¸µå´Â µ¥¿¡ »ç¿ëµÇ¾ú´Ù. ÇѸ¶µð·Î Unix¿Í C´Â ¶¿·¹¾ß ¶¿ ¼ö ¾ø´Â °ü°èÀÎ °ÍÀÌ´Ù. ÀÌ°ßÀÌ ÀÖÀ» ¼ö ÀÖÁö¸¸ ¿î¿µÃ¼Á¦ÀÇ ¼±Á¶°ÝÀÎ Unix¸¦ ÀÌÇØÇÏ´Â °ÍÀº ÄÄÇ»ÆÃȯ°æÀ» ÀÌÇØÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀ̸ç, Unix¸¦ ÀÌÇØÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀº C¸¦ ÀÌÇØÇÏ´Â °ÍÀ̶ó ÇÒ ¼ö ÀÖ´Ù.

Linux ¿î¿µÃ¼Á¦°¡ Unix¿Í ÀüÇô ´Ù¸¥ ¿î¿µÃ¼Á¦¶ó°í´Â ÇÏÁö¸¸ UnixÀÇ ¸ðµç öÇаú ±¸ÇöÀ» ±×´ë·Î Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç, »ç½Ç»ó ¶Ç´Ù¸¥ Unix¿î¿µÃ¼Á¦ÀÇ ÇÑ Á¾·ù¶ó°í ÇÒ ¼ö ÀÖ´Ù. UnixÀÇ ¶Ç´Ù¸¥ ¿î¿µÃ¼Á¦¶ó´Âµ¥ °ÅºÎ°¨À» °¡Áø ¸®´ª¼­µéµµ ÀÖ°ÚÁö¸¸ ÇÁ·Î±×·¡¸ÓÀÇ ÀÔÀå¿¡¼­ º¸ÀÚ¸é Linux¿Í Unix´Â µ¿ÀÏÇÏ´Ù.

±»ÀÌ Linuxȯ°æ¿¡¼­ C¾ð¾î¸¦ °øºÎÇÏ·Á´Â ÀÌÀ¯°¡ ¿©±â¿¡ ÀÖ´Ù. Linux¸¦ ÀÌÇØÇÑ´Ù´Â °ÍÀº Unix¸¦ ÀÌÇØÇÑ´Ù´Â °ÍÀ̸ç, ÀÌ´Â ÄÄÇ»ÆÃȯ°æÀ» ÀÌÇØÇÑ´Ù´Â Àǹ̰¡ µÇ±â ¶§¹®ÀÌ´Ù.

1.1 Linux ¿¡ ´ëÇؼ­

1.1.1 LinuxÀÇ Åº»ý

Linus Torvalds

Çʸ°µå Çï½ÌÅ° ´ëÇпø¿¡¼­ ¼ÒÇÁÆ®¿þ¾î °øÇÐÀ» Àü°øÇÏ´ø ¸¹Àº ÇлýµéÁß linus Torvalds¶ó´Â Æò¹üÇÑ ´ëÇпø»ýÀÌ ÀÖ¾ú´Ù. ´ç½Ã Åä¹ßÁî´Â Andrew Tanenbaum±³¼ö¿¡ ÀÇÇؼ­ °³¹ßµÈ Minix¶ó´Â ¿î¿µÃ¼Á¦¸¦ °¡Áö°í Unix ½Ã½ºÅÛ¿¡ ´ëÇÑ °øºÎ¸¦ ÇÏ°í ÀÖ¾ú´Âµ¥, MinixÀÇ ¶óÀ̼¾½º¿Í ¼º´ÉµîÀÌ ÀÚ½ÅÀÌ ¿øÇÏ´Â ¹Ù¿¡ ¹ÌÄ¡Áö ¸øÇÔÀ» ¾Ë°Ô µÇ¾ú´Ù.

±×¸®ÇÏ¿©, ³ª¸§´ë·Î Unix-likeÇÑ ¿î¿µÃ¼Á¦¸¦ ¸¸µé °èȹÀ» ¼¼¿ì°í À̸¦ ½ÇÇà¿¡ ¿Å±â°Ô µÈ´Ù. ÀÌ·¯ÇÑ ½ÇÇàÀÇ °á°ú¹°·Î ź»ýÇÑ°Ô Linux´Ù.

Linux´Â ¾Ö½Ã´çÃÊ °³ÀÎÀÌ Ãë¹Ì»ï¾Æ¼­ ¸¸µç ¿î¿µÃ¼Á¦ À̹ǷÎ, ±× ½ÃÀÛÀº ¸Å¿ì º¸Àß °ÍÀÌ ¾ø¾ú´Ù. ÀÌ·¯ÇÑ Linux¿î¿µÃ¼Á¦°¡ °³Àλç¿ëÀÚºÎÅÍ ´ë±â¾÷ȯ°æ¿¡ ±îÁö ³Î¸® »ç¿ëµÇ°Ô µÈ°ÍÀº ÀÎÅͳݰú GNUÀÇ °ø·Î°¡ Àý´ëÀûÀÌ¿´´Ù.

¸®´©Áî´Â º° »ý°¢ ¾øÀÌ 1991³â¿¡ ÀÚ½ÅÀÌ ¸¸µç linux(version 0.01)¸¦ ´º½º±×·ìÀ» ÅëÇØ °ø°³ÇÏ°Ô µÈ´Ù. °ø°³¸¦ ¹ßÇ¥Çϸ鼭 ±×´Â "ÀÌ´Â ´ÜÁö Ãë¹ÌÀ̸ç GNUó·³ Àü¹®ÀûÀÎ °ÍÀÌ ¾Æ´Ï´Ù"¶ó°í ¹ßÇ¥¼Ò°¨À» Ç¥ÇöÇß´Ù. ¸»±×´ë·Î Ãë¹Ì»ï¾Æ °ø°³Çß´ø linux´Â ¼ö¸¹Àº À¯´ÉÇÑ ÇÁ·Î±×·¡¸ÓÀÇ ÀÚ¹ßÀûÀÎ Âü¿©·Î ±Þ¼ÓÇÑ ¹ßÀüÀ» ÀÌ·ç°Ô µÇ¾úÀ¸¸ç, °á±¹ GNUÀÇ ¿©·¯ ÇÁ·ÎÁ§Æ®Áß °¡Àå Áß¿äÇÑ ÇÁ·ÎÁ§Æ®·Î À̸§À» ¿Ã¸®´Â ¼öÁرîÁö À̸£°Ô µÈ´Ù.

ÀÌ·¸°Ô ºü¸¥ ¼ºÀåÀ» Çϱä ÇßÁö¸¸, 1998³â ±îÁö´Â ÇнÀ¿ë ¿î¿µÃ¼Á¦¶ó´Â À̹ÌÁö°¡ °­Çß´Ù. ±×·¯´ø °ÍÀÌ ¸®´ª½ºÀÇ ½ÃÀå¿¡¼­ÀÇ ÀáÀçÀû ¼ºÀå´É·ÂÀ» ´«Ä¡Ã¦ ·¹µåÇÞ°ú °°Àº ¸î¸î ȸ»çµé¿¡ ÀÇÇؼ­ ±â¾÷½ÃÀåÀÇ ¹°²¿°¡ Æ®ÀÌ°Ô µÈ´Ù.

ÇöÀç´Â ¾î¶² ¼ÒÇÁÆ®¿þ¾î º¥´õ¶óµµ ¸®´ª½º¸¦ ¹«½ÃÇÒ ¼ö ¾ø´Â Á¤µµ°¡ µÇ¾ú´Ù. IBM, Dell, Oracle, Informix, Intel µîÀÌ Àü·«ÀûÀ¸·Î Linux¸¦ À¯/¹«ÇüÀ¸·Î Áö¿øÇÏ°í ÀÖ´Ù.

1.1.2 LinuxÀÇ Æ¯Â¡

ÇÁ·Î±×·¡¸ÓÀÇ °üÁ¡¿¡¼­ LinuxÀÇ Æ¯Â¡À» »ìÆ캸µµ·Ï ÇÏ°Ú´Ù.

  • Linux´Â Unix-like ¿î¿µÃ¼Á¦´Ù.
    ¸¹Àº Linux¿Í GNUÁöÁöÀÚµéÀÌ Linux´Â Unix°¡ ¾Æ´Ï´Ù¶ó°í ÇÏ°í ÀÖ´Ù. ±×·¯³ª °³¹ßÀÚ ÀÔÀå¿¡¼­ Linux´Â ºÐ¸í Unix-likeÇÑ ¿î¿µÃ¼Á¦´Ù. ½ÇÁ¦ Linux ¿î¿µÃ¼Á¦´Â UnixÀÇ ¿©·¯ öÇеéÀ» ±×´ë·Î Àû¿ë½ÃÅ°°í ÀÖ´Ù. ÆÄÀÏ, IPC, °¢Á¾ ½Ã½ºÅÛ/Ç¥ÁØÁö¿ø ÇÔ¼öµî ¸ðµç °ÍÀÌ Unixȯ°æ°ú µ¿ÀÏÇϰųª ºñ½ÁÇÏ´Ù.
  • ÇнÀ¿ëÀ¸·Î´Â ÃÖ°í´Ù.
    ÄÄÇ»Æÿª»ç¿¡¼­ »ç½Ç»ó ÃÖÃÊ·Î µîÀåÇÑ ¿î¿µÃ¼Á¦´Â UnixÀ̸ç, Unix ¿î¿µÃ¼Á¦ÀÇ Ã¶Çаú ¼³°è, ±¸¼ºÀº ÈÄ¿¡ µîÀåÇÑ ¸ðµç ¿î¿µÃ¼Á¦µéÀÌ °è½ÂÇÏ°í ÀÖ´Ù. À¯´Ð½ºÀÇ ÃÖ´ë? °æÀï»ó´ëÀÎ windowsµµ ¿¹¿Ü°¡ ¾Æ´Ï´Ù. ÀÌ´Â Unix´Â ÄÄÇ»ÆúоßÀÇ ÇнÀÀ» À§ÇÑ ÃÖ°íÀÇ ¿î¿µÃ¼Á¦ÀÓÀ» ÀǹÌÇÑ´Ù.
    ±×·¯³ª ¾ÈŸ±õ°Ôµµ ÀÌ·¯ÇÑ Unix¿î¿µÃ¼Á¦¸¦ Á÷Á¢ ¿î¿µÇϴµ¥¿¡´Â "ºñ¿ë"À̶ó´Â °áÁ¤ÀûÀÎ ¹®Á¦°¡ µû¸£°Ô µÈ´Ù. Unix¿î¿µÃ¼Á¦´Â ¸Å¿ì ºñ½Î¸ç, »ó´ëÀûÀ¸·Î °í°¡ÀÇ Àåºñ¿¡¼­ µ¹¾Æ°¡±â ¶§¹®¿¡, ½Ç¹«¸¦ ¶Ù´Â °³¹ßÀÚ°¡ ¾Æ´Ñ, Çлý(ȤÀº ¹é¼ö)ÀÇ ½ÅºÐ¿¡¼­ Á¢Çϱâ¶õ °áÄÚ ½±Áö ¾Ê´Ù.
    Linux´Â ÈǸ¢ÇÑ ´ë¾ÈÀÌ µÉ ¼ö ÀÖ´Ù. Linux´Â UnixÀÇ Ã¶ÇÐÀ» ±×´ë·Î °è½ÂÇÏ°í ÀÖÀ¸¸ç, ½Ã½ºÅÛÀÇ ¸ðµç °ÍÀÌ Unix¿Í °ÅÀÇ µ¿ÀÏÇÏ´Ù. ½Ã½ºÅÛ ¸í·É, Åøµéµµ µ¿ÀÏÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, Linux¿¡¼­ ¸¸µç ÇÁ·Î±×·¥Àº °ÅÀÇ ¼öÁ¤¾øÀÌ Unix¿¡¼­ ±×´ë·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. °Ô´Ù°¡ ÀÚÀ¯·Ó°Ô ÀÌ¿ëÇÒ ¼ö ÀÖÀ¸¸ç, Àú·ÅÇÑ PC¿¡¼­µµ ÈǸ¢ÇÏ°Ô ÀÛµ¿µÈ´Ù.

Unix°¡ ÇнÀÀ» À§ÇÑ ÃÖ°íÀÇ ¿î¿µÃ¼Á¦¶ó´Â ÀÇ°ß¿¡ ´ëÇؼ­´Â ÀÌ°ßÀÌ ÀÖÀ» ¼ö ÀÖ´Ù. ÇÊÀÚÀÇ »ý°¢À» Á¤¸®ÇØ º¸ÀÚ¸é Unix°¡ ÃÖ°íÀÇ ÇнÀ¿ë ¿î¿µÃ¼Á¦ÀÎ ÀÌÀ¯´Â ´ÙÀ½°ú °°´Ù.
  1. Unix´Â ¸ðµç ¿î¿µÃ¼Á¦ÀÇ ¼±Á¶°ÝÀÌ´Ù. ´ëºÎºÐÀÇ ¿î¿µÃ¼Á¦°¡ Unix¿î¿µÃ¼Á¦ ¸ðµ¨À» °ÅÀÇ ±×´ë·Î µû¸£°í ÀÖ´Ù.
  2. Network programing, system programingÀ» À§ÇÑ ¶óÀ̺귯¸®¿Í Åø, ÇÁ·ÎÅäÄݵéÀÌ Unix ȯ°æ¿¡¼­ ¸¸µé¾îÁ³´Ù.
  3. RFC, °³¹ß¹®¼­ÀÇ »ó´ç¼ö°¡ Unix ±âÁØÀÌ´Ù(¿ª»ç°¡ ¿À·¡µÇ¾ú±â ¶§¹®¿¡ ´ç¿¬ÇÏ´Ù)
  4. ´Ü¼øÇÑ °èÃþÀ» °¡Áö°í ÀÖ´Ù. - À©µµ¿ìÁî °°Àº °æ¿ì´Â »ç¿ëÀÚ ÆíÀǸ¦ À§Çؼ­ ¿©·¯°³ÀÇ °èÃþÀ» °¡Áö°Ô µÈ´Ù. ÀÌ´Â Àú ±í¼÷ÀÌ¿¡ ÀÖ´Â °èÃþÀ» Á÷Á¢ Á¢±ÙÇØ¾ß ÇÏ´Â °³¹ßÀÚ¿¡°Ô´Â Àç¾ÓÀÌ µÉ ¼ö ÀÖ´Ù -
  5. UnixÀÇ Ã¶ÇÐÀº Small is beautifullÀÌ´Ù. ÀÌ·¯ÇÑ Ã¶ÇÐÀº ÀϹÝÀ¯Àú¿¡°Ô ºÒÆíÇÔÀ¸·Î ´Ù°¡¿Ã ¼ö ÀÖÁö¸¸ °³¹ßÀÚ³ª ÇÁ·Î±×·¡¸Ó Çлý¿¡°Ô´Â ÀåÁ¡ÀÌ µÈ´Ù. ¿¡µðÅÍ¿Í gccÄÄÆÄÀÏ·¯ Çϳª°¡ °®Ãß¾îÁö´Â °ÍÀ¸·Î ÇнÀ/°³¹ßȯ°æÀÌ ¸¸µé¾îÁø´Ù.

1.2 C ¾ð¾î

1.2.1 ¾ð¾î¿¡ ´ëÇؼ­

¾ð¾î´Â ÀÇ»ç¼ÒÅëÀ» À§ÇÑ ¼ö´ÜÀ¸·Î »ç¿ëµÈ´Ù. ÀϺ»ÀΰúÀÇ ÀÇ»ç¼ÒÅëÀ» À§Çؼ­´Â ÀϺ»¾î¸¦ ±¸»çÇØ¾ß ÇÑ´Ù. Áß±¹ÀÎ, ¹Ì±¹Àΰúµµ ¸¶Âù°¡Áö°¡ µÇ°Ú´Ù. »ç¶÷»çÀÌÀÇ ÀÇ»ç¼ÒÅëÀ» À§Çؼ­¸¸ ¾ð¾î°¡ »ç¿ëµÇ´À³Ä ÇÏ¸é ±×·¸Áöµµ ¾Ê´Ù. ¹«¾ð°¡¸¦ Á¦¾îÇÏ°í ´Ù·ç±â À§ÇÑ ¸ðµç ºÎºÐ¿¡ ¾ð¾î´Â »ç¿ëµÈ´Ù. ÀÚ¿¬Çö»óÀ» ÀÌÇØÇϱâ À§Çؼ­ ¼öÇÐÀÌ »ç¿ëµÈ´Ù. ±â°è¸¦ ´Ù·ç±â À§Çؼ­ Á¦°øµÇ´Â ¸Þ´º¾ó ¿ª½Ã ¾ð¾î¶ó°í ÇÒ ¼ö ÀÖ´Ù.

1.3 C ÇÁ·Î±×·¡¹Ö ¾ð¾î

ÄÄÇ»ÅÍ¿Í ´ëÈ­Çϱâ À§Çؼ­´Â ÄÄÇ»ÅÍ°¡ ÀÌÇØÇÒ ¼ö ÀÖ´Â ¾ð¾îÀÎ ±â°è¾î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î¼­ ÁÖ¾îÁø ¼ýÀÚµéÀÇ ¸ñ·Ï¿¡¼­ °¡Àå Å« ¼ýÀÚ¸¦ ãµµ·Ï ÇÒ·Á¸é ´ë·« ´ÙÀ½°ú °°Àº ¾ð¾î¸¦ ÄÄÇ»ÅÍ¿¡ ÀÔ·ÂÇØ¾ß ÇÑ´Ù.
0011010011101011100101100100111010000000010101000010110110001010...
ÇѸ¶µð·Î ¸»Çؼ­ Àΰ£ÀÌ ÇÒ ÁþÀÌ µÇÁö ¸øÇÑ´Ù. µµ´ëü Àú°É ¾î¶»°Ô ÀÌÇØÇÏ°í ¸í·ÉÀ» ³»¸± ¼ö ÀÖ´Ü ¸»Àΰ¡. ±×·¯³ª ³î¶ø°Ôµµ ÄÄÇ»ÅÍ°¡ ¸¸µé¾îÁø Ãʱ⿡´Â Àú·¯ÇÑ ±â°è¾î¸¦ Á÷Á¢ ÄÄÇ»ÅÍ¿¡ ÀÔ·ÂÇÏ´Â ¹æ½ÄÀ¸·Î ÄÄÇ»Å͸¦ ¿î¿ëÇß¾ú´Ù.

¿ø·¡ Àΰ£Àº °ÔÀ¸¸¥ µ¿¹°ÀÌ´Ù. ¸¹Àº ÄÄÇ»ÅÍ°úÇÐÀÚµéÀÌ À§ÀÇ ´Ü¼ø¹«½ÄÇÑ ¹æ¹ýÀÌ ¾Æ´Ñ Á»´õ ½¬¿î ¹æ¹ýÀ¸·Î ÄÄÇ»ÅÍ¿Í ´ëÈ­Çϱâ À§ÇÑ ¹æ¹ýÀ» ã±â À§Çؼ­ ³ë·ÂÇß¾ú°í, ±×·¡¼­ ¸¸µé¾îÁø°Ô Assembly ÀÌ´Ù. Assembly´Â 0°ú 1µÈ ¸í·ÉÀ» Á»´õ Àΰ£ÀÌ ÀÌÇØÇϱ⠽±°Ô²û ¹®ÀÚÈ­ Çß´Ù.
.section .data

data_items: # ¼ýÀÚ µ¥ÀÌÅ͵é
.long 3,67,34,222,45,75,54,34,44,33,22,11,66,0
.section .text
.globl _start

_start:
movl $0, %edi # move 0 into the index register
movl data_items(,%edi,4), %eax # load the first byte of data
movl %eax, %ebx # since this is the first item, %eax is
# the biggest

start_loop: # start loop
cmpl $0, %eax # check to see if we ve hit the end
je loop_exit
incl %edi # load next value
movl data_items(,%edi,4), %eax
cmpl %ebx, %eax # compare values
jle start_loop # jump to loop beginning if the new
# one isn t bigger
movl %eax, %ebx # move the value as the largest
jmp start_loop # jump to loop beginning
loop_exit: # %ebx is the return value,
# and it already has the number

movl $1, %eax #1 is the exit() syscall
int $0x80
¹¹ ±×·¡µµ ¿©ÀüÈ÷ º¸±â ¾î·Æ´Ù°í »ý°¢ÇÒÁö ¸ð¸£°ÚÁö¸¸ ¾î¶µç ±â°è¾îº¸´Ù´Â ÈξÀ ÀÌÇØÇϱ⠽¬¿ï °ÍÀÌ´Ù.

±×·¯³ª ¾î¼Àºí¸®¾î´Â ±â°è¾î¸¦ 1:1·Î ÀüȯÇÑ´Ù. ¶§¹®¿¡ ±â°è¾î º¸´Ù´Â ȹ±âÀûÀ¸·Î ÀÌÇØÇϱ⠽±Áö¸¸, ¿©ÀüÈ÷ Àΰ£¿¡°Ô ±â°èÀûÀÎ »ç°í¹æ½ÄÀ» °­¿äÇÏ°Ô ¸¸µç´Ù.

±×·¡¼­ Á»´õ Àΰ£ÀûÀÎ, Á»´õ Àΰ£ÀÌ »ç¿ëÇϱ⠽¬¿î ¶Ç´Ù¸¥ ´ë¾ÈÀ» ã°Ô µÇ¾ú°í, ±×·¯ÇÑ ³ë·ÂÀÇ °á°ú ¸¸µé¾îÁø°Ô C¾ð¾îÀÌ´Ù. C ÇÁ·Î±×·¡¹Ö ¾ð¾î (ÀÌÇÏ C)´Â 1970³â¿¡ Unix¿î¿µÃ¼Á¦¿¡¼­ »ç¿ëÇϱâ À§ÇÑ ¸ñÀûÀ¸·Î Dennis Ritchie¿¡ ¸¸µé¾î Á³À¸¸ç, °­·ÂÇÔ°ú Æí¸®ÇÔÀ¸·Î °ÅÀÇ ¸ðµç ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦¿¡¼­ »ç¿ëÇÏ´Â °¡Àå ¼º°øÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ µÇ¾ú´Ù.

ÀÌÈÄ¿¡ ¸¸µé¾îÁø C++, Java, Perl, PHP, Python µîÀÇ ¾ð¾îµéµµ Á÷°£Á¢ÀûÀ¸·Î CÀÇ ¿µÇâÀ» ¹Þ¾ÒÀ¸¸ç, ÃÖ±Ùµé¾î À̵é ÃÖ½ÅÀÇ ¾ð¾î°¡ ¸¹Àº Àα⸦ ²ø°í ÀÖ±â´Â ÇÏÁö¸¸, ¿©ÀüÈ÷ C´Â °¡Àå ¸¹Àº °³¹ßÀÚÁøÀ» È®º¸ ÇÏ°í ÀÖÀ¸¸ç, ¸¹Àº ¼öÀÇ ÇÁ·Î±×·¥ÀÌ ¿©ÀüÈ÷ C·Î ¸¸µé¾îÁö°í ÀÖ´Ù.

´ÙÀ½Àº C·Î ¸¸µé¾îÁø °¡Àå Å« ¼ýÀÚ¸¦ ã´Â ÇÁ·Î±×·¥ÀÌ´Ù.
int main()
{
int i = 0;
int maxitem = -1;
int items[] = {3,67,34,222,45,76,54,34,44,33,22,11,66,0};
while(items[i] != 0)
{
if (items[i] > maxitem)
maxitem = items[i];
i++;
}
printf("MAX NUM IS : %d\n", maxitem);
}
¾à°£ÀÇ ¼¾½º¸¸ ÀÖ´Ù¸é ÇÁ·Î±×·¡¸Ó°¡ ¾Æ´Ï´õ¶óµµ ÀÌÇØÇϱ⠾î·ÆÁö ¾ÊÀ» Á¤µµ´Ù.

¾ö°ÝÈ÷ ¸»ÇÏÀÚ¸é C¾ð¾î¶ó´Â °ÍÀº Àΰ£ÀÌ ±â°è¾î¸¦ ÀÌÇØÇÏ°í »ç¿ëÇϱâ Èûµé±â ¶§¹®¿¡ ¸¸µé¾îÁø Áß°£´Ü°èÀÇ ¾ð¾î¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. À§ÀÇ ÄÚµå´Â Àΰ£Àº ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖÁö¸¸ ÄÄÇ»ÅÍ´Â ÀÌÇØÇÒ ¼ö ¾ø±â ¶§¹®¿¡, ±â°è¾î·Î ¹Ù²Ù¾îÁÖ´Â ÄÄÆÄÀÏ·¯¶ó´Â º°µµÀÇ ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù. ÀÌ°ÍÀº ³ªÁß¿¡ ´Ù·çµµ·Ï ÇÒ °ÍÀÌ´Ù.

1.3.1 ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦ ±×¸®°í ÇÁ·Î±×·¡¹Ö ¾ð¾î

ÄÄÇ»ÅÍ ¸ö, ¿î¿µÃ¼Á¦´Â ³ú¶ó°í ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ³ú¸¸ °¡Áö°í¼­´Â ÇÒ ¼ö ÀÖ´Â ÀÏÀÌ Á¦ÇÑÀûÀÌ´Ù. ÃÖ¼ÒÇÑÀÇ ÄÄÇ»ÅÍÀÇ À¯Áö¸¸ °¡´ÉÇÒ »ÓÀÌ°í, ¾î¶² ¿øÇÏ´Â ÀÏÀ» Çϱâ À§Çؼ­´Â ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÏ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾î¶õ ÀÌ·¯ÇÑ ÇÁ·Î±×·¥À» ¸¸µé±â À§ÇÑ ¶Ç´Ù¸¥ ÇÁ·Î±×·¥¼Â À̶ó°í ÀÌÇØÇÏ¸é µÈ´Ù.

<scRIPT type=text/javascript> </scRIPT> <scRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </scRIPT>

1.4 ¿Ö Linux¿Í C Àΰ¡

Áö±Ý¿¡ ¿Í¼­ C´Â C++, Java, Perl, Python, Ruby, C# µîÀÇ ¾ð¾îµé¿¡ ºñÇؼ­ ±¸´Ú´Ù¸® ¾ð¾î·Î Ãë±ÞÀ» ¹Þ°í ÀÖ´Â°Ô »ç½ÇÀÌ´Ù. ±×·¯³ª ¿©ÀüÈ÷ C´Â ¸¹Àº ¿µ¿ª¿¡¼­ ¾²¿©Áö°í ÀÖÀ¸¸ç, ¸¸µé¾îÁö´Â Àüü ÇÁ·Î±×·¥ÀÇ (¾Æ¸¶µµ) Àû¾îµµ 60% ÀÌ»óÀÌ C·Î ¸¸µé¾îÁö°í ÀÖ´Ù.

C´Â ¿©ÀüÈ÷ ¼º°øÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â ¾ð¾îÀÌ´Ù. ±×·¯³ª C¸¦ ¹è¿ö¾ß ÇÏ´Â ÁøÁ¤ÇÑ ÀÌÀ¯´Â ¾Æ·¡¿Í °°ÀÌ Á¤¸®ÇÒ ¼ö ÀÖ´Ù.
  • °¡Àå ¿À·¡µÈ °í¼öÁØÀÇ ¾ð¾î´Ù.
    C´Â ½ÇÁúÀûÀ¸·Î ¼º°øÇÑ °¡Àå ¿À·¡µÈ ¾ð¾îÀÌ´Ù. ±×¸¸Å­ ¿À·£ ¿ª»ç¸¦ °¡Áö°í ÀÖÀ½À» ÀǹÌÇÑ´Ù. ¿ª»ç¸¦ ¾Ë¸é ½Ã´ë¸¦ Áö¹èÇÒ ¼ö ÀÖ´Ù.
  • ¸¹Àº ÇÁ·Î±×·¥µéÀÌ C·Î ÀÛ¼ºµÇ¾ú´Ù.
    ÇÁ·Î±×·¡¹Ö ±â¼úÀ» ÀÍÈ÷´Â °¡Àå ÁÁÀº ¹æ¹ýÁß Çϳª´Â ´Ù¸¥ ÈǸ¢ÇÑ ÇÁ·Î±×·¥À» Á¢ÇÏ´Â °ÍÀÌ´Ù. ¼ö½Ê¶óÀÎÀÇ °£´ÜÇÑ ÇÁ·Î±×·¥ºÎÅÍ ¼ö¸¸/¼ö½Ê¸¸ ¶óÀÎÀÇ °Å´ëÇÑ ÇÁ·Î±×·¥±îÁö ¼ö¸¹Àº C·Î µÈ ÇÁ·Î±×·¥µéÀ» ÀÎÅͳݻ󿡼­ Á¢ÇÒ ¼ö ÀÖ´Ù.
  • ¸¹Àº ¹®¼­µéÀÌ C·Î ¼³¸íµÇ¾î Á³´Ù.
    ¾Ë°í¸®Áò°ú ÀڷᱸÁ¶µîÀ» ¼³¸íÇÑ ´ë´Ù¼öÀÇ ¹®¼­µéÀÌ C¸¦ ±âÁØÀ¸·Î Å×½ºÆ®µÇ¾îÁö°í ÀÛ¼ºµÇ¾î¼­ ¹èÆ÷µÇ°í ÀÖ´Ù. ÃÖ±Ù¿¡´Â (ƯÈ÷ Python) ´Ù¸¥ ¾ð¾îµé·Î ¼³¸íµÇ¾îÁø ¹®¼­µéÀÌ ³ª¿À°í ÀÖÁö¸¸, ¿ª½Ã Àý´ë´Ù¼öÀÇ ¹®¼­µéÀÌ C¸¦ ±âÁØÀ¸·Î ¸¸µé¾î Áö°í ÀÖ´Ù. ¹®¼­ÀÇ ÀÛ¼ºÀÚµéÀÌ C¾ð¾î¿¡ Àͼ÷ÇÑ °æ¿ì°¡ ¸¹±â ¶§¹®ÀÌ´Ù.
  • °£°áÇÏ°í ´Ü¼øÇÏ´Ù.
    ´ÜÁ¡ÀÌ µÉ ¼öµµ ÀÖ°ÚÁö¸¸, C´Â °£°áÇÏ°í ´Ü¼øÇÏ´Ù. ÀÌ´Â ´Ù¸¥ ºÎ°¡ÀûÀÎ °Í¿¡ ½Å°æ¾È¾²°í, ¹è¿ì°íÀÚ ÇÏ´Â ¾ð¾îÀÇ Æ¯Â¡°ú È°¿ë¿¡ ÁýÁßÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù.

°á·ÐÀûÀ¸·Î ¸»ÇÏÀÚ¸é Linux ȯ°æÀ» ÀÌ·¯ÇÑ C¾ð¾î¸¦ ¹è¿ì´Âµ¥ ÃÖÀûÀÇ È¯°æÀ» Á¦°øÇÑ´Ù. ¿î¿µÃ¼Á¦ÀÇ ¼±Á¶°ÝÀÎ UnixÀÇ Ã¶ÇÐÀ» ±×´ë·Î °¡Áö°í ÀÖÀ¸¸ç, Ç¥ÁØÀ» Àß µû¸£°í ÀÖ´Ù. ¼³Ä¡ Áï½Ã º°µµÀÇ ºñ¿ëÀ» ÁöºÒÇÒ ÇÊ¿ä ¾øÀÌ ¿ÏÀüÇÑ °³¹ßȯ°æÀ» ±¸ÃàÇØÁØ´Ù. º¹ÀâÇÏ°í ¸Ó¸®¾ÆÇÁ°Ô ÀÌ·±Àú·± ¶óÀ̼¾½º µûÁö¸é¼­ °³¹ßȯ°æÀ» ¸¸µé ÇÊ¿ä°¡ ¾øÀ¸¸ç, ÀÌ·± Àú·± Àâ´ÙÇÑ °Í¿¡ ½Å°æ¾²Áö ¾Ê°í, ¿À·ÎÁö °³¹ß°ú ÇнÀ¿¡ ÁýÁßÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù. Linux¿¡¼­ÀÇ C°³¹ßȯ°æÀÌ Á¤¸» ±×·¸°Ô ȯ»óÀûÀΰ¡¿¡ ´ëÇؼ­´Â ÀÌ°ßÀÌ ÀÖÀ» ¼ö ÀÖÁö¸¸, Àû¾îµµ ÇнÀ¿¡ À־ ÃÖ»óÀÇ È¯°æÀ» Á¦°øÇØÁØ´Ù´Â°É ÀǽÉÇÒ ÇÊ¿ä°¡ ¾øÀ» °ÍÀÌ´Ù.

2 Start Linux

ÀÌ ¹®¼­´Â ¸®´ª½º È°¿ë¼­°¡ ¾Æ´Ï´Ù. ±×·¯¹Ç·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÔ¿¡ À־ ¹Ýµå½Ã ÇÊ¿äÇÏ´Ù°í »ý°¢µÇ´Â ¸®´ª½ºÀÇ Æ¯Â¡ÀûÀÎ °Íµé¿¡ ´ëÇؼ­ ¾Ë¾Æº¸µµ·Ï ÇÒ °ÍÀÌ´Ù.

2.1 Linux Kernel

½ÇÁúÀûÀ¸·Î ¿î¿µÃ¼Á¦¶ó°í Çϸé Kernel ÀÚü¸¦ °¡¸£Å²´Ù. kernelÀ̾߸»·Î ³ú¿¡ ÇØ´çµÇ´Â ÇÙ½ÉÀûÀÎ ºÎºÐÀ¸·Î ·¥, Å°º¸µåÀÔ·Â, ¸ð´ÏÅÍ Ãâ·Â, ÇÁ·Î±×·¥ Á¦¾î¿Í °°Àº ÇÙ½ÉÀûÀÎ ¾÷¹«¸¦ ¼öÇàÇÑ´Ù. ³ª¸ÓÁö´Â ¸ðµÎ kernelÀ§¿¡¼­ µ¹¾Æ°¡´Â (ÇüÅ°¡ ´Ù¸¥) ÇÁ·Î±×·¥ÀÏ »ÓÀÌ´Ù.

Linux Ä¿³ÎÀº ¸®´©Áî Åä¹ßÁî°¡ ¸¸µé¾úÀ¸¸ç ÇöÀç(2006³â) 2.6.xx ¹öÀüÀÌ ¹èÆ÷µÇ°í ÀÖ´Ù. Linux Ä¿³ÎÀº .À¸·Î ±¸ºÐµÈ 3ÀÚ¸®ÀÇ ¼ýÀÚ·Î ±¸ºÐÀ» Çϴµ¥, ù¹ø° ÀÚ¸®´Â major version, µÎ¹ø° ÀÚ¸®´Â minor version, ¸¶Áö¸· ÀÚ¸®´Â patch versionÀ» ³ªÅ¸³½´Ù.

¿¹¸¦ µé¾î 2.6.12 ¶ó°í Çϸé, Ä¿³Î¼Ò½º¿Í ±â´É¿¡ À־ 2¹øÀÇ Å« º¯È­°¡ ÀÖ¾úÀ¸¸ç, 2¹øÀÇ º¯È­°¡ ÀÌ·ç¾îÁø 2.0.0¿¡¼­ 6¹øÀÇ ÀÚÀßÇÑ º¯È­°¡ ÀÖ¾úÀ½À» ÀǹÌÇÑ´Ù. 12´Â 2.6.0¿¡¼­ 12¹øÀÇ ÆÐÄ¡¼öÁØÀÇ º¯È­¸¦ ¸»ÇØÁØ´Ù.

2.2 ¹èÆ÷ÆÇ

Linux´Â ¸ðµç ¼Ò½ºÄڵ尡 ¿ÏÀüÈ÷ °ø°³µÇ¾î ÀÖ´Ù. ±×·¯´Ù º¸´Ï, ´Ù¾çÇÑ Á¾·ùÀÇ ¹èÆ÷ÆǵéÀÌ Á¸ÀçÇÏ°Ô µÈ´Ù. ÀÌ·¯ÇÑ ¹èÆ÷ÆǵéÀº ÁÖ·Î ¾î¶² ¹æ½ÄÀ¸·Î ÆÐÅ°Áö(ÇÁ·Î±×·¥)µéÀ» °ü¸®ÇÏ´ÂÁö¿¡ µû¶ó¼­ ±¸ºÐÁö¾î Áø´Ù.

¼ö¹é°³ÀÇ ¹èÆ÷ÆÇÀÌ ÀÖÁö¸¸ RedHat, Gentoo, Ubuntu, Fedora µîÀÇ ¹èÆ÷ÆÇÀÌ ³Î¸® »ç¿ëµÇ°í ÀÖ´Ù. ¾î¶² ¹èÆ÷ÆÇÀ» ÀÌ¿ëÇؼ­ ¸®´ª½ºÈ¯°æÀ» ±¸ÃàÇصµ ¹®Á¦´Â ¾ø°ÚÁö¸¸, ÀÔ¹®¿ëÀ¸·Î´Â Fedora³ª Ubuntu¸¦ ÃßõÇÑ´Ù.

ÀÌ ¹®¼­¿¡¼­´Â ¹èÆ÷ÆÇÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ ´Ù·çÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ½ÃÁß¿¡ ³ª¿Í ÀÖ´Â °ü·Ã ¼­ÀûÀ̳ª °¢ ¹èÆ÷ÆÇ Ä¿¹Â´ÏƼÀÇ ¼³Ä¡ ¹®¼­¸¦ Âü°íÇϱ⠹ٶõ´Ù.

2.3 ¸®´ª½ºÀÇ Æ¯Â¡

°³¹ßÀÚÀÎ ÇÊÀÚÀÇ ÀÔÀå¿¡¼­ ¸®´ª½º´Â ¶Ç ´Ù¸¥ Unix ¿î¿µÃ¼Á¦´Ù. ¿©±â¿¡ ¼Ò°³µÈ ¸®´ª½ºÀÇ Æ¯Â¡Àº °ÅÀÇ ´ëºÎºÐÀÌ UnixÀÇ Æ¯Â¡ ±×´ë·ÎÀÌ´Ù. LinuxÀÇ Æ¯Â¡À» ¹è¿ì¸é¼­ ´ýÀ¸·Î UnixÀÇ Æ¯Â¡±îÁö ¹è¿ì°Ô µÇ´Ï Àϼ®ÀÌÁ¶¶ó ÇÒ ¼ö ÀÖ°Ú´Ù.

¸®´ª½ºÀÇ Æ¯Â¡À» ÀÚ¼¼È÷ ´Ù·ç´Â °ÍÀº ÀÌ ¹®¼­ÀÇ ¹üÀ§¸¦ ¿ÏÀüÈ÷ ¹þ¾î³­´Ù. ¿©±â¿¡¼­´Â °³¹ßȯ°æÀ» ÀÌÇØÇÒ ¼ö ÀÖ´Â ¼öÁØ¿¡¼­ÀÇ ÃÖ¼ÒÇÑÀÇ ³»¿ë¸¸ ´Ù·ê °ÍÀÌ´Ù.

À¯´Ð½º°¡ ¸ðµç ¸®´ª½ºÀÇ Æ¯Â¡À» °¡Áö°í ÀÖÀ¸¹Ç·Î, ¼³¸í¿¡¼­´Â Unix·Î ÅëÀÏÇϵµ·Ï ÇÏ°Ú´Ù.

2.3.1 ´ÙÁß »ç¿ëÀÚ

°³ÀÎÀÌ »ç¿ëÇÏ´Â PCÀÇ ¿î¿µÃ¼Á¦·Î ¸¸µé¾îÁ³´ø DOS, Windows´Â ´Þ¸® Unix´Â óÀ½ºÎÅÍ Áß´ëÇüÀÇ ÄÄÇ»Å͸¦ Á¦¾îÇÒ ¸ñÀûÀ¸·Î ¸¸µé¾îÁø ¿î¿µÃ¼Á¦´Ù. ±×·±ÀÌÀ¯·Î óÀ½ºÎÅÍ ´ÙÁß»ç¿ëÀÚ Áö¿øÀ» °í·ÁÇؼ­ ¼³°è°¡ µÇ¾ú´Ù.

ÀÌ·± ´ÙÁß »ç¿ëÀÚ´Â ´ëºÎºÐÀÇ °æ¿ì ¹°¸®ÀûÀ¸·Î ÄÄÇ»ÅÍ¿¡¼­ ¸Ö¸® ¶³¾îÁ® ÀÖÀ¸¸ç, NetWork¸¦ ÀÌ¿ëÇؼ­ Á¢¼Ó ÇÏ°Ô µÈ´Ù. Unix´Â Á¢¼ÓÀÌ À¯È¿ÇÑ Á¢¼ÓÀÎÁö ¾Æ´ÑÁö(ºÒ¹ýÀûÀÎ »ç¿ëÀÚ³ª Å©·¡Ä¿)¸¦ ÆÇ´ÜÇϱâ À§Çؼ­ ID:Password¹æ½ÄÀÇ Login ½Ã½ºÅÛÀ» Áö¿øÇÑ´Ù.

2.3.2 ´ÙÁß ÇÁ·Î¼¼½º

ÇÁ·Î¼¼½º¶õ ¿î¿µÃ¼Á¦À§¿¡¼­ ÁÖ¾îÁøÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥ÀÇ ½ÇÇà À̹ÌÁö´Ù. Unix´Â ´ÙÁßÀÇ »ç¿ëÀÚ¸¦ Áö¿øÇÏ°í ÀÖÀ¸¹Ç·Î, µ¿½Ã¿¡ ¿©·¯°³ÀÇ ÇÁ·Î¼¼½º¸¦ Áö¿ø ÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁ³´Ù. A»ç¿ëÀÚ°¡ À¥ ºê¶ó¿ìÁøÀ» ÇÏ´Â µ¿¾È B»ç¿ëÀÚ´Â DataBaseÀÛ¾÷À» Çϸ鼭 µ¿½Ã¿¡ mp3¸¦ °¨»óÇÒ ¼ö ÀÖ´Ù.

2.3.3 ³ôÀº À̽ļº

Unix´Â ¿î¿µÃ¼Á¦ÀÇ 80% ÀÌ»óÀÌ C¾ð¾î·Î ¸¸µé¾îÁ³´Ù. ÀÌ´Â ´Ù¸¥ Á¾·ùÀÇ ÄÄÇ»ÅÍ¿¡ ½±°Ô À̽ÄÇÒ ¼ö ÀÖÀ½À» ¸»ÇÑ´Ù. Unix´Â °ÅÀÇ ´ëºÎºÐÀÇ Áß´ëÇü ÄÄÇ»ÅÍ¿Í PC/ÀÓº£µðµå±â±â - Linux -¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù.

2.3.4 ´Ü¼øÇÔ

Ãß»óÀûÀ̱ä ÇÏÁö¸¸ À¯´Ð½ºÀÇ ´Ü¼øÇÔÀº À¯´Ð½ºÀÇ ´ëÇ¥ÀûÀΠƯ¡ÀÌ´Ù. À©µµ¿ì »ç¿ëÀÚ°¡ Unix¸¦ Á¦ÀÏ Á¢ÇÏ¸é ´À³¢´Â°Ô ´Ü¼øÇÔ¿¡¼­ ¿À´Â Ȳ´çÇÔÀÌ´Ù. µµ½º½ÃÀýÀ» º¸´Â °Í°ú °°ÀÌ ÄÄÀº ¹ÙÅÁÈ­¸é¿¡ ÇÁ·ÒÇÁÆ®¸¸ ±ôºýÀÌ°í ÀÖ´Â°É º¸¸é¼­ Àý¸ÁÀ» ´À³¤ »ç¿ëÀÚµµ ²Ï³ª ÀÖ¾úÀ» °ÍÀÌ´Ù.

°Ô´Ù°¡ ÇÁ·Î±×·¥¿ª½Ã ³Ê¹«³ª ¹«¼ºÀÇ Çϱ⠱×Áö ¾ø´Ù. ¾Æ±âÀÚ±âÇÑ ¾ÆÀÌÄÜ°ú ´Ù¾çÇÑ ºÎ°¡±â´ÉÀ» Á¦°øÇÏ¸ç ¸¶¿ì½º Ŭ¸¯À¸·Î ÇÊ¿äÇÑ ÀÏÀ» ÇØ°áÇÒ ¼ö ÀÖ´Â À©µµ¿ì¿Í´Â ´Þ¸® UnixÀÇ ÇÁ·Î±×·¥Àº Á÷Á¢ ŸÀÌÇÎÀ» ÇÏ°í ¿É¼ÇÀ» Á༭ ÀÏÀ» ¼öÇàÇØ¾ß ÇÑ´Ù. À¯´Ð½º ȯ°æ¿¡ ¸Å¿ì Àͼ÷ÇÑ °³¹ßÀÚ¶ó°í ÇÏ´õ¶óµµ ÆÄÀÏÀÇ ¸ñ·ÏÀ» º¸¿©ÁÖ´Â lsÀÇ ¿É¼ÇÀ» ¿Ïº®ÇÏ°Ô ÀÌÇØÇÏ°í »ç¿ëÇÏ´Â »ç¶÷Àº ¾Æ¸¶µµ ¾øÀ» °ÍÀÌ´Ù.

±×·¯³ª ¸ð¼øµÇ°Ôµµ ÀÌ·¯ÇÑ ´Ü¼øÇÔÀÌ À¯´Ð½º¸¦ °­·ÂÇÏ°Ô ¸¸µé¾îÁØ´Ù. À¯´Ð½ºÀÇ ´ëºÎºÐÀÇ ±â´É°ú ÇÁ·Î±×·¥µéÀº Àڱ⿡°Ô ÁÖ¾îÁø Àϸ¸ Çϸç, º¹ÀâÇÑ ÀÛ¾÷Àº öÀúÈ÷ ºÐ¾÷È­ ÇÔÀ¸·Î½á ¼öÇàÀ» ÇÑ´Ù. ÅؽºÆ® ÆÄÀÏÀÇ ³»¿ëÀ» Àо Linux°¡ Æ÷ÇÔµÈ ¶óÀÎÀ» µû·Î ÀúÀåÇÏ´Â ÀÏÀ» ÇÏ°í ½Í´Ù°í °¡Á¤Çغ¸ÀÚ. °£´ÜÇÑ ÀÛ¾÷°°Áö¸¸ À©µµ¿ì¿¡¼­ ÀÌ·¯ÇÑ ÀÏÀº ¿øÇÏ´Â ÇÁ·Î±×·¥À» ã¾Æ¾ß ÇÏ´Â Áö·çÇÑ °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. À¯´Ð½º´Â ¾Æ·¡¿Í °°ÀÌ °£´ÜÇÏ°Ô ÇØ°áÇÒ ¼ö ÀÖ´Ù.
# cat sample.txt | grep "Linux" > Linux.txt
ÆÄÀÏÀÇ ³»¿ëÀ» Ãâ·ÂÇÏ´Â catÀ» ÀÌ¿ëÇؼ­ ³»¿ëÀ» Àоî¿À°í, Àоî¿Â ³»¿ëÀ» ¹®ÀÚ¿­À» ºñ±³ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» °¡Áø grep¿¡ º¸³»¾î¼­ Linux¸¦ Æ÷ÇÔÇÑ ¶óÀÎÀ» Linux.txt¿¡ ÀúÀåÇÏ´Â ¹æ½ÄÀÌ´Ù. öÀúÈ÷ ºÐ¾÷È­ µÇ¾îÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù.

ÀÌ·¯ÇÑ ´Ü¼øÇÔÀº ÆÄÀÌÇÁ¿Í ÀçÁöÇâÀ̶ó´Â ±â¼úÀ» ÅëÇؼ­ ¾ò¾îÁö´Â Ư¡ÀÌ´Ù. ÆÄÀÌÇÁ¿Í ÀçÁöÇâ¿¡ ´ëÇؼ­´Â µû·Î ´Ù·ç°Ô µÉ °ÍÀÌ´Ù.

2.4 ¸®´ª½º ȯ°æ

¸®´ª½ºÀÇ È¯°æÀ» °³¹ß¿¡ ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ ¼öÁØ¿¡¼­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù.

2.4.1 Shell

¿ì¸®°¡ ÄÄÇ»Å͸¦ »ç¿ëÇϴµ¥ À־, ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦ÀÇ º¹ÀâÇÑ ±¸¼ºÀ» ÀÌÇØÇÏ°í ÀÖÀ» ÇÊ¿ä´Â ¾ø´Ù. ±×·¡¾ß ÇÑ´Ù¸é ÄÄÇ»ÅÍ´Â ´ÜÁö Àü¹®°¡ÀÇ ÀüÀ¯¹°ÀÌ µÇ¾úÀ» °ÍÀÌ´Ù. ShellÀº Á¶°³²®ÁúÀÌ ³»ºÎ¸¦ °¨Ãß´Â °Íó·³ ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦¸¦ ³»ºÎ·Î ¼û±ä´Ù. SellÀ» ÀÌ¿ëÇÏ´Â »ç¿ëÀÚ´Â ¿î¿µÃ¼Á¦°¡ ¾î¶»°Ô ¸í·ÉÀ» ¼öÇàÇÏ´ÂÁö µîÀÇ º¹ÀâÇÑ °Í¿¡ ½Å°æ ¾µÇÊ¿ä ¾øÀÌ shell¿¡ °£´ÜÈ÷ ¸í·ÉÀ» ³»¸²À¸·Î½á ÇÊ¿äÇÑ ÀÛ¾÷À» ÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁØ´Ù.

shell.gif

shellÀº À̸¦Å×¸é ¿î¿µÃ¼Á¦¿Í »ç¿ëÀÚ¸¦ ¿¬°áÇØÁÖ´Â ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥À̶ó°í ÇÒ ¼ö ÀÖ´Ù. ¿©·¯Á¾·ùÀÇ °ÔÀÓÀÌ ÀÖµíÀÌ shellµµ ¿©·¯Á¾·ùÀÇ ½©ÀÌ ÀÖ´Ù. ksh, csh, bash, zshellµîÀÌ ÀÖÀ¸¸ç ¸®´ª½º ȯ°æ¿¡¼­´Â bash½©ÀÌ °¡Àå ³Î¸® »ç¿ëµÈ´Ù. ½© ÇÁ·Î±×·¥À̶ó°í ºÎ¸£±âµµ ÇÑ´Ù.

½©Àº ÇÁ·ÒÇÁÆ®¶ó´Â °ÍÀ» ÅëÇؼ­ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾Æµé¿©¼­ ÇÊ¿äÇÑ ÀÏÀ» ¼öÇàÇÑ´Ù.

Upload new Attachment "prompt.jpg"

À©µµ¿ìÁî¿¡¼­µµ cmd¶ó°í ºÒ¸®¿ì´Â ½©À» ¶ç¿ï ¼ö´Â ÀÖÁö¸¸, À¯´Ð½ºÀÇ ½©Àº À©µµ¿ìÁîÀÇ ½©°ú´Â ´Ù¸¥ Â÷¿øÀÇ °ÍÀÌ´Ù. GUIÈ­¸é¿¡¼­ ¸¶¿ì½º Ŭ¸¯À¸·Î °ÅÀÇ ´ëºÎºÐÀÇ ÀÏÀ» ó¸®ÇÏ´Â À©µµ¿ìÁî¿Í´Â ´Þ¸® À¯´Ð½º´Â °ÅÀÇ ¸ðµç ÀÛ¾÷ÀÌ ½©¿¡¼­ ÀÌ·ç¾îÁø´Ù. ºñ·Ï KDE¿Í Gnome¿Í °°Àº µ¥½ºÅ©Å¾ ȯ°æÀÌ ³ª¿À±ä ÇßÁö¸¸, ¿©ÀüÈ÷ ¸¹Àº À¯´Ð½º À¯ÀúµéÀÌ µ¥½ºÅ©Å¾È¯°æÀ» ´ÜÁö ¸¹Àº ½© âÀ» ¶ç¿ì±â À§ÇÑ ¿ëµµ·Î »ç¿ëÇÒ »ÓÀÌ´Ù.

2.4.2 ÆÄÀÏ ±¸Á¶

¸®´ª½ºÀÇ ÆÄÀÏ ½Ã½ºÅÛ ±¸Á¶´Â À¯´Ð½ºÀÇ ±×°Í°ú µ¿ÀÏÇÑ °èÃþ ±¸Á¶¸¦ °¡Áö°í ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ °èÃþ ±¸Á¶´Â µð·ºÅ丮¶ó´Â Ư¼öÇÑ ÇüÅÂÀÇ ÆÄÀÏÀ» ÅëÇؼ­ ¸¸µé¾îÁø´Ù.
 /---+--- root
|
+--- usr ---+--- local --+--- lib
| | |
| | +--- java
| | |
| | +--- include
| |
| +--- bin
| |
| +--- src ----+--- apache
| |
| +--- httpd
|
+--- home --+-- yundream
|
+-- younghi
|
+-- cocoboc

2.4.3 ¸ðµç °ÍÀº ÆÄÀÏÀÌ´Ù

À¯´Ð½º´Â ¸ðµç°É ÆÄÀÏ·Î Ãë±ÞÇÑ´Ù. À§¿¡ Àá±ñ ¾ð±ÞµÇ¾ú´ø °Íó·³ µð·ºÅ丮µµ (Ư¼öÇÑ ÇüÅÂ)ÀÇ ÆÄÀÏ·Î Ãë±ÞÇÒ »Ó¸¸ ¾Æ´Ï¶ó, Çϵåµð½ºÅ©, ÀÌ´õ³ÝÄ«µå, ÇÁ¸°ÅÍ, °¢Á¾ ÀÔÃâ·Â Æ÷Æ®(USB, PS/2, Serial)µî ¸ðµç ÀåÄ¡±îÁö ÆÄÀÏ·Î Ãë±ÞÇÑ´Ù. ¿¹¸¦ µéÀÚ¸é Çϵåµð½ºÅ©´Â /dev/hda1, /dev/hda2, Ç÷ÎÇǵð½ºÅ© µå¶óÀ̺ê´Â /dev/fd0À̸§ÀÇ ÆÄÀÏ·Î °ü¸®ÇÑ´Ù.

À©µµ¿ìÁîÀ¯Àú¶ó¸é ÀÌ·¯ÇÑ È¯°æÀÌ ³¸¼³°Ô ´À²¸Áö°ÚÁö¸¸, ÀÌ´Â Àû¾îµµ °³¹ßÀÚÀÇ ÀÔÀå¿¡¼­ ºÃÀ» ¶§´Â ¸Å¿ì ÇÕ¸®ÀûÀÎ ±¸Á¶´Ù. ¸ðµç °É ÆÄÀÏÀ̶ó´Â µ¿ÀÏÇÑ °´Ã¼·Î º¸°Ô µÊÀ¸·Î½á, µ¿ÀÏÇÑ ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ» Àû¿ëÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. °¢°¢ÀÇ ÀåÄ¡¸¦ À§ÇÑ ÇÁ·ÎÅäÄÝÀº Á¦¿ÜÇÏ´õ¶óµµ, ÀåÄ¡¿¡ Àаí/¾²´Âµ¥ À־ µ¿ÀÏÇÑ ÇÁ·Î±×·¡¹Ö ±â¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î °³¹ß ½Ã°£À» Å©°Ô ´ÜÃà½Ãų ¼ö ÀÖ´Ù.

ÀÌ·¯ÇÑ ÀåÄ¡¿Í °ü·ÃµÈ Ư¼öÇÑ ÆÄÀϵéÀº /dev¹Ø¿¡ À§Ä¡ÇÑ´Ù.

2.4.4 ÆÄÀÌÇÁ¿Í ÀçÁöÇâ

Pipe(ÆÄÀÌÇÁ)´Â ÇÑÂÊ°´Ã¼¿¡¼­ ´Ù¸¥ÂÊ °´Ã¼·Î ¾î¶² ¹°°ÇÀ» º¸³»±â À§ÇÑ Åë·Î·Î »ç¿ëµÈ´Ù. »óÇϼöµµ°üÀÌ ´ëÇ¥ÀûÀÎ °æ¿ì°¡ µÉ°ÍÀÌ´Ù. ÄÁÅ×À̳ʺ§Æ®¿ª½Ã ÇüÅ´ ´Ù¸£Áö¸¸ ¹°°ÇÀ» º¸³»±â À§ÇÑ Åë·Î·Î »ç¿ëµÈ´Ù´Â Á¡¿¡¼­ ÀÏÁ¾ÀÇ ÆÄÀÌÇÁ¶ó°í ÇÒ ¼ö ÀÖ´Ù.

Unix¿ª½Ã °´Ã¼ »çÀÌÀÇ ¹°°ÇÀ» Àü´ÞÇϱâ À§ÇÑ ¸ñÀûÀ¸·Î ÆÄÀÌÇÁ¸¦ »ç¿ëÇÑ´Ù. ¿©±â¿¡¼­ °´Ã¼´Â ¿î¿µÃ¼Á¦¿¡¼­ ¾î¶² ÀÛ¾÷À» ¼öÇàÇÏ´Â ÃÖ¼Ò´ÜÀ§ÀÎ ÇÁ·Î¼¼½º°¡µÇ¸ç, ¹°°ÇÀº ÀÏ·ÃÀÇ ¿¬¼ÓµÈ bit·Î ÀÌ·ç¾îÁø µ¥ÀÌÅÍ°¡ µÈ´Ù.
  +------------+        PIPE       +------------+
| Process A | --------||------> | Process B |
+------------+ +------------+

ÆÄÀÌÇÁ´Â À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ ÇÁ·Î¼¼½º°£ µ¥ÀÌÅ͸¦ Àü´ÞÇϱâ À§Çؼ­ °¡Àå³Î¸® ÇʼöÀûÀ¸·Î »ç¿ëµÇ´Â ¼³ºñ´Ù. ´ÙÀ½Àº À¯´Ð½º¿¡¼­ ÆÄÀÌÇÁ¸¦ ÅëÇؼ­ ÀÛ¾÷À» ÇÏ´Â ÀϹÝÀûÀÎ ¿¹´Ù. ÆÄÀÌÇÁ¾ø´Â À¯´Ð½º´Â ¾Ó²¿ ¾ø´Â Âð»§À̶ó ÇÒ ¼ö ÀÖ´Ù. ½©¿¡¼­´Â |¸¦ ÀÌ¿ëÇؼ­ ÆÄÀÌÇÁ¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.
// ÇÁ·Î¼¼½º Áß¿¡¼­ viÀÇ Á¤º¸¸¦ ¾ò¾î¿Â´Ù. 
# ps -ef | grep vi

// file.txt¸¦ Àо ¸î¶óÀÎÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.
# cat file.txt | wc -l

// È®ÀåÀÚ°¡ .txtÀÎ ¸ðµç ÆÄÀÏÀ» Àо "joinc"¹®ÀÚ¿­À» °¡Áø ÆÄÀÏÀ» ¾ò¾î¿Â´Ù.
# cat *.txt | grep "joinc"

// ÇÁ·Î¼¼½º Áß¿¡¼­ rootÀ¯Àú°¡ ½ÇÇàÇÑ viÀÇ Á¤º¸¸¦ ¾ò¾î¿Â´Ù.
# ps -ef | grep vi | grep root

ÀçÁöÇâÀº ´Ù¸¥ °÷À¸·Î ÇâÇÏ°Ô ÇÑ´Ù¶ó´Â ¶æÀ» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µéÀÚ¸é È­¸é¿¡ Ãâ·ÂµÇ´Â µ¥ÀÌÅ͸¦ ÆÄÀÏÀ̳ª ÇÁ¸°Å͵îÀ¸·Î º¸³»±â À§ÇÑ ¿ëµµ·Î »ç¿ëÇÒ ¼ö Àִµ¥, ÀÌ °æ¿ì µ¥ÀÌÅ͸¦ ÆÄÀÏ·Î ÀçÁöÇâÇÑ´Ù. µ¥ÀÌÅ͸¦ ÇÁ¸°ÅÍ·Î ÀçÁöÇâ ÇÑ´Ù. ¶ó°í ¸»ÇÑ´Ù. ½©¿¡¼­´Â >¸¦ ÀÌ¿ëÇؼ­ ÀçÁöÇâ ÇÒ ¼ö ÀÖ´Ù.
// ÇÁ·Î¼¼½º Áß¿¡¼­ rootÀ¯Àú°¡ ½ÇÇàÇÑ viÀÇ Á¤º¸¸¦ È­¸éÀÌ ¾Æ´Ñ  
// rootvi.txt ÆÄÀÏ·Î ÀçÁöÇâÇÑ´Ù.
# ps -ef | grep vi | grep root > rootvi.txt

// rootvi.txt ÆÄÀÏÀÇ ³»¿ëÀ» ÇÁ¸°ÅÍ·Î ÀçÁöÇâ ÇÑ´Ù.
// ÇÁ¸°ÅÍ°¡ ¼³Á¤µÇ¾î ÀÖ´Ù¸é Ãâ·ÂÀÌ µÉ °ÍÀÌ´Ù.
# cat rootvi.txt > lp0

>¸¦ ÀÌ¿ëÇؼ­ ÀçÁöÇâ ÇÒ°æ¿ì µ¿ÀÏÇÑ À̸§ÀÇ ÆÄÀÏÀÌ ¾ø´Ù¸é »õ·Î »ý¼ºµÉ °ÍÀÌ´Ù. ¸¸¾à µ¿ÀÏÇÑ À̸§ÀÇ À̸§ÀÇ ÆÄÀÏÀÌ ÀÖ´Ù¸é, µ¤¾î½á¹ö¸®°Ô µÈ´Ù. µ¤¾î¾²Áö ¾Ê°í ¸¶Áö¸·ºÎÅÍ Ãß°¡µÇ°Ô ÇÒ·Á¸é >>¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù.
// newaddr.txt¸¦ Àо addr.txt ÆÄÀÏ¿¡ Ãß°¡ÇÑ´Ù. 
# cat newaddr.txt >> addr.txt

2.4.5 Ç¥ÁØÀÔ·Â,Ç¥ÁØÃâ·Â,Ç¥ÁØ¿¡·¯

ÄÄÇ»ÅÍ·Î ¿ì¸®°¡ ÇÏ´Â ÀÏÀº °á±¹ ÀԷ°ú Ãâ·Â µÎ°¡Áö ÀÛ¾÷À¸·Î ¿ä¾àµÉ ¼ö ÀÖ´Ù. ¿ì¸®°¡ ÀÔ·ÂÀ» ÅëÇؼ­ ÄÄÇ»ÅÍ·Î ¸í·ÉÀ» Àü´ÞÇϸé, ±× °á°ú´Â Ãâ·ÂÀÇ ÇüÅ·Π¿ì¸®¿¡°Ô Àü´ÞµÈ´Ù. ÀÔ·ÂÀº Å°º¸µå·Î Ãâ·ÂÀº ¸ð´ÏÅ͸¦ ÅëÇؼ­ ÀÌ·ç¾îÁø´Ù.

Å°º¸µå·Î ÅëÇؼ­ ÀÌ·ç¾îÁö´Â ÀÔ·ÂÀ» Ç¥ÁØÀÔ·ÂÀ̶ó°í Çϸç, ¸ð´ÏÅ͸¦ ÅëÇؼ­ ÀÌ·ç¾îÁö´Â Ãâ·ÂÀ» Ç¥ÁØÃâ·ÂÀ̶ó°í ÇÑ´Ù. ±×·¸´Ù¸é Ç¥ÁØ¿¡·¯¶õ ¹«¾ùÀΰ¡. ÀÔ·ÂÀº ¹«Á¶°Ç Çϳª°¡ µÇ°ÚÁö¸¸, Ãâ·ÂÀº ÇÑ°¡Áö ÀÌ»óÀÌ µÉ ¼ö ÀÖ´Ù. ÀÛ¾÷À» Á¦´ë·Î ¸¶ÃÆÀ» °æ¿ìÀÇ Ãâ·Â°á°ú°¡ ÀÖÀ» ¼ö ÀÖÁö¸¸ ÀÛ¾÷À» ½ÇÆÐÇßÀ» °æ¿ìÀÇ Ãâ·Â°á°ú°¡ ÀÖÀ» ¼öµµ Àֱ⠶§¹®ÀÌ´Ù. Ç¥ÁØ¿¡·¯´Â ÀÛ¾÷¿¡ ½ÇÆÐÇß´Ù¶ó´Â °ÍÀ» »ç¿ëÀÚ¿¡°Ô ¾Ë·ÁÁÖ±â À§Çؼ­ »ç¿ëÇÑ´Ù.

Unix¿¡¼­´Â ÀÌ·¯ÇÑ ÀԷ°ú Ãâ·Â±îÁöµµ ÆÄÀÏ·Î °ü¸®¸¦ ÇÑ´Ù. ÀÌ ÆÄÀϵéÀº ´ÙÀ½°ú °°ÀÌ ÀԷ°ú Ãâ·Â¿¡ ´ëÀÀµÇ´Â ¼ýÀÚ·ÎµÈ À̸§À» °¡Áö°í ÀÖ´Ù.
Ç¥ÁØÀÔ·Â 0
Ç¥ÁØÃâ·Â 1
Ç¥ÁØ¿¡·¯ 2

À̸¦ ÀÌ¿ëÇؼ­ ÀçÁöÇâÀ» ½Ãų ¶§, Ç¥ÁØ¿¡·¯¿Í Ç¥ÁØ¿¡·¯¸¦ µû·Î ÀúÀåÇÒ ¼öµµ ÀÖ´Ù.
// Ç¥ÁØÃâ·ÂÀ» suessvalue.txt·Î ÀçÁöÇâ ÇÑ´Ù. 
# ./prog 1> suessvalue.txt

// Ç¥ÁØ¿¡·¯¸¦ error.txt ÆÄÀÏ·Î ÀúÀåÇÑ´Ù.
# ./prog 2> error.txt
´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î Ç¥ÁØ¿¡·¯¸¦ Ç¥ÁØÃâ·ÂÀ¸·Î ÀçÁöÇâ ½Ãų ¼öµµ ÀÖ´Ù.
#./prog 2>&1

2.4.6 °èÁ¤

¸®´ª½º¿ª½Ã ´Ù¸¥ À¯´Ð½ºµé°ú ¸¶Âù°¡Áö·Î ´ÙÁß»ç¿ëÀÚ ¿î¿µÃ¼Á¦ÀÌ´Ù. ÀÌ·¸´Ù º¸´Ï ½Ã½ºÅÛ ÀÚ¿ø¿¡ ´ëÇÑ Á¢±Ù±ÇÇÑÀÌ ¸Å¿ì Áß¿äÇØ Áø´Ù. ¿¹¸¦µé¾î ƯÁ¤ À¯ÀúÀÇ °³ÀÎ ½Å»óÁ¤º¸¸¦ °¡Áø ÆÄÀÏÀº °áÄÚ ´Ù¸¥ À¯ÀúµéÀÌ º¼ ¼ö À־´Â ¾ÈµÉ °ÍÀ̸ç shutdown°ú °°Àº ½Ã½ºÅÛ ´Ù¿î ¸í·ÉÀº Ư¼öÇÑ À¯Àú(½´ÆÛÀ¯Àú)¸¸ÀÌ Á¦ÇÑÀûÀ¸·Î ½ÇÇà°¡´É ÇØ¾ß ÇÒ°ÍÀÌ´Ù. ¾Æ¹¸µç ³×Æ®¿öÅ©ÀåÄ¡, ÆÄÀÏ, ÇÁ·Î¼¼½º, ÀåÄ¡(µð½ºÅ©, CD-ROM, ÇÁ¸°Å͵î)ÀÇ ¸ðµç ½Ã½ºÅÛ ÀÚ¿ø¿¡ ´ëÇؼ­ »ç¿ëÀÚ °èÁ¤¼öÁØ¿¡¼­ÀÇ Á¢±ÙÁ¦¾î¿Í °ü·ÃµÈ Á¦ÇÑÀÌ ÇÊ¿äÇÏ°Ô µÉ °ÍÀÌ´Ù. ȸ»çÀÇ Á÷Ã¥°ú °ü·ÃµÈ ½Ã½ºÅÛ°ú µ¿ÀÏÇÏ´Ù°í º¸¸é µÈ´Ù. ÀÏ¹Ý »ç¿øÀÎÁö, ´ë¸®ÀÎÁö, °úÀåÀÎÁö, »çÀåÀÎÁö¿¡ µû¶ó¼­ Á¢±ÙÇÒ¼ö Àִ ȸ»çÀÚ¿øÀÇ ·¹º§ÀÌ °áÁ¤µÇ´Â °Í°ú ¸¶Âù°¡Áö´Ù. ÀÏ¹Ý °øÁö»çÇ×ÀÌ¾ß ÀüÁ÷¿øÀÌ º¼ ¼ö ÀÖÁö¸¸ °æ¿µ°ú °ü·ÃµÈ Áß¿ä ¹®°ÇÀº ÃÖ°í°æ¿µÁø¸¸ º¼¼ö ÀÖ¾î¾ß ÇÒ°ÍÀÌ´Ù.

2.4.6.1 À¯Àú
ȸ»ç·Î Ä¡¸é »ç¿ø °³°³ÀÎÀÌ´Ù. ¸®´ª½º ½Ã½ºÅÛ °üÁ¡¿¡¼­ º¸ÀÚ¸é ½Ã½ºÅÛ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ÃÖ¼Ò´ÜÀ§ °´Ã¼°¡ µÈ´Ù. À¯Àú´Â Á¢±ÙÀ» À§Çؼ­ ÀÚ½ÅÀÇ ID¿Í Æнº¿öµå¸¦ °¡Áö¸ç, ÀÌ¿Ü¿¡µµ ½Ã½ºÅÛ¿¡¼­ÀÇ ¿øÇÒÇÑ È°µ¿À» À§ÇÑ "»ç¿ëÀÚ È¨µð·ºÅ丮", "»ç¿ëÀÚ ½©", "Æ÷ÇԵǴ ±×·ì"°ú °°Àº °¢Á¾ ºÎ°¡ÀûÀÎ Á¤º¸µéÀ» °¡Áö°Ô µÈ´Ù.

¸®´ª½º¿¡¼­ À¯Àú´Â Å©°Ô 2°³·Î ³ª´©°Ô µÈ´Ù. Àý´ëÀûÀÎ ±ÇÇÑÀ» °¡Áö´Â ½´ÆÛÀ¯Àú¿Í ÀϹÝÀ¯Àú À¯Àú´Ù.

½´ÆÛÀ¯Àú´Â º¸Åë ID·Î root¸¦ °¡Áö¸ç ½Ã½ºÅÛ¿¡¼­ Àý´ëÀûÀÎ ¿µÇâ·ÂÀ» Çà»çÇÑ´Ù. ½Ã½ºÅÛÀÇ ¼Ë´Ù¿î, ¸®ºÎÆÃ, ÀåÄ¡ÀÇ Á¦¾î, À¯ÀúÁ¦¾î, ÆÄÀÏÁ¦¾î¿¡ À־ ÀüÇô Á¦ÇÑÀÌ ¾ø´Ù. ¸¶À½¸¸ ¸Ô´Â´Ù¸é rm -rf /·Î ½Ã½ºÅÛÀÇ ¸ðµç ÆÄÀÏÀ» ³¯·Á¹ö¸± ¼öµµ ÀÖ´Â Àý´ë ±ÇÇÑÀÚÀÌ´Ù. ¿ö³«¿¡ ¸·°­ÇÑ ±ÇÇÑÀ» °¡Áö°í Àֱ⠶§¹®¿¡ ¿î¿µÃ¼Á¦ ÀÚü¸¦ Æı«ÇØ ¹ö¸®´Â ¾îó±¸´Ï ¾ø´Â ½Ç¼ö¸¦ ÇÒ ¼öµµ ÀÖ´Ù. Çؼ­ ¸î¸î »ó¿ë¿î¿µÃ¼Á¦µéÀº ½´ÆÛÀ¯Àú¶óµµ ÆÄ¿ö¿¡ Á¦ÇÑÀ» µÎ±âµµ ÇÑ´Ù.

ÀÏ¹Ý À¯Àú´Â ½´ÆÛÀ¯Àú¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö À¯Àú¸¦ °¡¸®Å²´Ù. ÀϹÝÀ¯Àú´Â ½´ÆÛÀ¯Àú°¡ Á¤ÇÏ´Â ¹Ù¿¡ µû¶ó¼­ ½Ã½ºÅÛ³»¿¡¼­ÀÇ ±ÇÇÑ°ú È°µ¿¿µ¿ª¿¡ À־ Á¦ÇÑÀ» ¹Þ°Ô µÈ´Ù.

2.4.6.2 ±×·ì
ȸ»ç¿¡¼­´Â ÀÎÀûÀÚ¿ø°ü¸®ÀÇ È¿À²¼ºÀ» ³ôÀ̱â À§Çؼ­ °³Àκ°·Î Á÷Ã¥°ú Á÷±ÞÀ» µÎ°í À̸¦ ´Ù½Ã ¹­¾î¼­ ºÎ¼­(ÆÀ)¸¦ ¸¸µé¾î¼­ °ü¸®ÇÑ´Ù. ±â¼ú°³¹ßÆÀ, °æ¿µÁö¿øÆÀ, ȸ°èÆÀ, ÀλçÆÀµîÀε¥, ÇѸíÀÇ Á÷¿øÀº Çϳª ȤÀº ±× ÀÌ»óÀÇ ÆÀ¿¡ ¼Ò¼ÓµÉ ¼ö ÀÖÀ» °ÍÀÌ°í ÆÀÀÇ Æ¯Â¡¿¡ µû¶ó¼­ ±ÇÇÑÀÌ ÀçÁ¶Á¤ µÉ°ÍÀÌ´Ù.

ȸ»ç¿Í °°ÀÌ ºÎ¼­(ÆÀ)À» ¸¸µé¾î¼­ Á¶Á÷À» È¿À²ÀûÀ¸·Î ¸¸µå´Â°Í°ú °°Àº ±¸Á¶´Â ´Ù¸¥ ¸ðµç Áý´Ü¿¡¼­ (À̸§¸¸ ¾à°£ ¹Ù²Ù¾î¼­) °øÅëÀûÀ¸·Î ³ªÅ¸³ª¸ç ¿î¿µÃ¼Á¦¿ª½Ã ¿¹¿Ü¾øÀÌ ÀÌ·¯ÇÑ ±¸Á¶¸¦ µû¸¥´Ù.

¸®´ª½º¿¡¼­´Â À̸¦ ±×·ìÀ̶ó°í ÇÑ´Ù. ¸®´ª½º¿¡¼­ÀÇ ±×·ì¿ª½Ã À¯ÀúÀÚ¿øÀ» È¿À²ÀûÀ¸·Î °ü¸®Çϱâ À§ÇÑ ÀåÄ¡´Ù. ÇϳªÀÇ À¯Àú´Â ÇϳªÀÌ»óÀÇ ±×·ì¿¡ Æ÷Ç﵃ ¼ö ÀÖ´Ù.

2.4.6.3 񀀥
À¯Àú¿Í ±×·ìÀº °íÀ¯ÀÇ ±ÇÇÑÀÌ ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ ±ÇÇÑÀº ÁÖ·Î ÆÄÀÏ¿¡ Àû¿ëµÈ´Ù. Áï ÆÄÀÏÀÏ ÀÐÀ»¼ö ÀÖ´ÂÁö (r), ¾µ¼ö ÀÖ´ÂÁö (w), ½ÇÇàÇÒ ¼ö ÀÖ´ÂÁö (x)¿¡ ´ëÇØ Á¤ÀÇ ÇÏ´Â °ÍÀ¸·Î ÀÌ·ç¾îÁø´Ù. ¸®´ª½º¿¡¼­ ¸ðµç °ÍÀº ÆÄÀÏ·Î ´Ù·ç¾îÁö¹Ç·Î ÆÄÀÏ¿¡ ´ëÇؼ­ ±ÇÇÑÀ» ¼³Á¤ÇÑ´Ù´Â °ÍÀº °á±¹ ½Ã½ºÅÛ Àüü¿¡ ´ëÇÑ ±ÇÇÑÀ» ¼³Á¤ÇÏ´Â °Í°ú µ¿ÀÏÇÑ È¿°ú¸¦ °¡Áø´Ù.

ÀÌ·¯ÇÑ ±ÇÇÑÀº À¯Àú(User)¿Í ±×·ì(Group), Other(¾îµð¿¡µµ ¼ÓÇÏÁö ¾ÊÀº)¿¡ ´ëÇؼ­ °¢°¢ Á¤ÀÇ ÇÒ ¼ö ÀÖ´Ù.
 À¯Àú     ±×·ì     Other
+-+-+-+ +-+-+-+ +-+-+-+
|R|W|X| |R|W|X| |R|W|X|
+-+-+-+ +-+-+-+ +-+-+-+
4 2 1 4 2 1 4 2 1
¿¹¸¦ µé¾î test.txtÆÄÀÏÀ» À¯Àú yundream¿¡ ´ëÇؼ­ Àбâ/¾²±â/½ÇÇà ±ÇÇÑÀ» ±×·ì 
develop¿Í Other¿¡´Â Àбâ/¾²±â ±ÇÇÑÀÌ ºÎ¿©µÇ¾î ÀÖ´Ù¸é ls°á°ú´Â ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.
$ ls -al
-rw-r--r-- 1 yundream develop 5632 2006-04-19 18:09 uname.c
-rwxr-xr-x 1 yundream develop 5632 2006-04-19 18:09 yundream.txt
ÀÌÇØÇϴµ¥ º°·Î ¾î·Á¿ò¾øÀ» °ÍÀÌ´Ù. ls´Â ±ÇÇÑÀ» 7°³ÀÇ ÇÊÅÍ·Î ³ªÅ¸³½´Ù. 
óÀ½ 9°³ Çʵ尡 3°³¾¿ ²÷¾î¼­ À¯Àú/±×·ì/Otehr¿¡ ´ëÇÑ ±ÇÇÑÀ» ¼³Á¤ÇÑ´Ù.
¸¶Áö¸· Çʵå´Â stiky bit¿Í °°Àº Ư¼öÇÑ Á¤ÀǸ¦ À§Çؼ­ »ç¿ëµÈ´Ù.

À̸§ Æнº¿öµå
ºñ¹Ð±Û (üũÇÏ¸é ±Û¾´À̸¸ ³»¿ëÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.)
¿ÞÂÊÀÇ ±ÛÀÚ¸¦ ÀÔ·ÂÇϼ¼¿ä.
   

 



 
»çÀÌÆ®¸í : ¸ðÁö¸®³× | ´ëÇ¥ : ÀÌ°æÇö | °³ÀÎÄ¿¹Â´ÏƼ : ·©Å°´åÄÄ ¿î¿µÃ¼Á¦(OS) | °æ±âµµ ¼º³²½Ã ºÐ´ç±¸ | ÀüÀÚ¿ìÆí : mojily°ñ¹ðÀÌchonnom.com Copyright ¨Ï www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.