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°¡ ÃÖ°íÀÇ ÇнÀ¿ë ¿î¿µÃ¼Á¦ÀÎ ÀÌÀ¯´Â ´ÙÀ½°ú °°´Ù.
- Unix´Â ¸ðµç ¿î¿µÃ¼Á¦ÀÇ ¼±Á¶°ÝÀÌ´Ù. ´ëºÎºÐÀÇ ¿î¿µÃ¼Á¦°¡ Unix¿î¿µÃ¼Á¦ ¸ðµ¨À» °ÅÀÇ ±×´ë·Î µû¸£°í ÀÖ´Ù.
- Network programing, system programingÀ» À§ÇÑ ¶óÀ̺귯¸®¿Í Åø, ÇÁ·ÎÅäÄݵéÀÌ Unix ȯ°æ¿¡¼ ¸¸µé¾îÁ³´Ù.
- RFC, °³¹ß¹®¼ÀÇ »ó´ç¼ö°¡ Unix ±âÁØÀÌ´Ù(¿ª»ç°¡ ¿À·¡µÇ¾ú±â ¶§¹®¿¡ ´ç¿¬ÇÏ´Ù)
- ´Ü¼øÇÑ °èÃþÀ» °¡Áö°í ÀÖ´Ù. - À©µµ¿ìÁî °°Àº °æ¿ì´Â »ç¿ëÀÚ ÆíÀǸ¦ À§Çؼ ¿©·¯°³ÀÇ °èÃþÀ» °¡Áö°Ô µÈ´Ù. ÀÌ´Â Àú ±í¼÷ÀÌ¿¡ ÀÖ´Â °èÃþÀ» Á÷Á¢ Á¢±ÙÇØ¾ß ÇÏ´Â °³¹ßÀÚ¿¡°Ô´Â Àç¾ÓÀÌ µÉ ¼ö ÀÖ´Ù -
- 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 -¿¡ ¼³Ä¡µÇ¾î ÀÖ´Ù.
Ãß»óÀûÀ̱ä ÇÏÁö¸¸ À¯´Ð½ºÀÇ
´Ü¼øÇÔÀº À¯´Ð½ºÀÇ ´ëÇ¥ÀûÀΠƯ¡ÀÌ´Ù. À©µµ¿ì »ç¿ëÀÚ°¡ Unix¸¦ Á¦ÀÏ Á¢ÇÏ¸é ´À³¢´Â°Ô ´Ü¼øÇÔ¿¡¼ ¿À´Â Ȳ´çÇÔÀÌ´Ù. µµ½º½ÃÀýÀ» º¸´Â °Í°ú °°ÀÌ ÄÄÀº ¹ÙÅÁȸ鿡 ÇÁ·ÒÇÁÆ®¸¸ ±ôºýÀÌ°í ÀÖ´Â°É º¸¸é¼ Àý¸ÁÀ» ´À³¤ »ç¿ëÀÚµµ ²Ï³ª ÀÖ¾úÀ» °ÍÀÌ´Ù.
°Ô´Ù°¡ ÇÁ·Î±×·¥¿ª½Ã ³Ê¹«³ª ¹«¼ºÀÇ Çϱ⠱×Áö ¾ø´Ù. ¾Æ±âÀÚ±âÇÑ ¾ÆÀÌÄÜ°ú ´Ù¾çÇÑ ºÎ°¡±â´ÉÀ» Á¦°øÇÏ¸ç ¸¶¿ì½º Ŭ¸¯À¸·Î ÇÊ¿äÇÑ ÀÏÀ» ÇØ°áÇÒ ¼ö ÀÖ´Â À©µµ¿ì¿Í´Â ´Þ¸® UnixÀÇ ÇÁ·Î±×·¥Àº Á÷Á¢ ŸÀÌÇÎÀ» ÇÏ°í ¿É¼ÇÀ» Á༠ÀÏÀ» ¼öÇàÇØ¾ß ÇÑ´Ù. À¯´Ð½º ȯ°æ¿¡ ¸Å¿ì Àͼ÷ÇÑ °³¹ßÀÚ¶ó°í ÇÏ´õ¶óµµ ÆÄÀÏÀÇ ¸ñ·ÏÀ» º¸¿©ÁÖ´Â
lsÀÇ ¿É¼ÇÀ» ¿Ïº®ÇÏ°Ô ÀÌÇØÇÏ°í »ç¿ëÇÏ´Â »ç¶÷Àº ¾Æ¸¶µµ ¾øÀ» °ÍÀÌ´Ù.
±×·¯³ª ¸ð¼øµÇ°Ôµµ ÀÌ·¯ÇÑ ´Ü¼øÇÔÀÌ À¯´Ð½º¸¦ °·ÂÇÏ°Ô ¸¸µé¾îÁØ´Ù. À¯´Ð½ºÀÇ ´ëºÎºÐÀÇ ±â´É°ú ÇÁ·Î±×·¥µéÀº Àڱ⿡°Ô ÁÖ¾îÁø Àϸ¸ Çϸç, º¹ÀâÇÑ ÀÛ¾÷Àº öÀúÈ÷ ºÐ¾÷È ÇÔÀ¸·Î½á ¼öÇàÀ» ÇÑ´Ù. ÅؽºÆ® ÆÄÀÏÀÇ ³»¿ëÀ» ÀÐ¾î¼ Linux°¡ Æ÷ÇÔµÈ ¶óÀÎÀ» µû·Î ÀúÀåÇÏ´Â ÀÏÀ» ÇÏ°í ½Í´Ù°í °¡Á¤Çغ¸ÀÚ. °£´ÜÇÑ ÀÛ¾÷°°Áö¸¸ À©µµ¿ì¿¡¼ ÀÌ·¯ÇÑ ÀÏÀº
¿øÇÏ´Â ÇÁ·Î±×·¥À» ã¾Æ¾ß ÇÏ´Â Áö·çÇÑ °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. À¯´Ð½º´Â ¾Æ·¡¿Í °°ÀÌ °£´ÜÇÏ°Ô ÇØ°áÇÒ ¼ö ÀÖ´Ù.
# cat sample.txt | grep "Linux" > Linux.txt
ÆÄÀÏÀÇ ³»¿ëÀ» Ãâ·ÂÇÏ´Â
catÀ» ÀÌ¿ëÇؼ ³»¿ëÀ» Àоî¿À°í, Àоî¿Â ³»¿ëÀ» ¹®ÀÚ¿À» ºñ±³ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» °¡Áø
grep¿¡ º¸³»¾î¼ Linux¸¦ Æ÷ÇÔÇÑ ¶óÀÎÀ» Linux.txt¿¡ ÀúÀåÇÏ´Â ¹æ½ÄÀÌ´Ù. öÀúÈ÷ ºÐ¾÷È µÇ¾îÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ
´Ü¼øÇÔÀº
ÆÄÀÌÇÁ¿Í
ÀçÁöÇâÀ̶ó´Â ±â¼úÀ» ÅëÇؼ ¾ò¾îÁö´Â Ư¡ÀÌ´Ù. ÆÄÀÌÇÁ¿Í ÀçÁöÇâ¿¡ ´ëÇؼ´Â µû·Î ´Ù·ç°Ô µÉ °ÍÀÌ´Ù.
2.4 ¸®´ª½º ȯ°æ
¸®´ª½ºÀÇ È¯°æÀ» °³¹ß¿¡ ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ ¼öÁØ¿¡¼ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù.
¿ì¸®°¡ ÄÄÇ»Å͸¦ »ç¿ëÇϴµ¥ ÀÖ¾î¼, ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦ÀÇ º¹ÀâÇÑ ±¸¼ºÀ» ÀÌÇØÇÏ°í ÀÖÀ» ÇÊ¿ä´Â ¾ø´Ù. ±×·¡¾ß ÇÑ´Ù¸é ÄÄÇ»ÅÍ´Â ´ÜÁö Àü¹®°¡ÀÇ ÀüÀ¯¹°ÀÌ µÇ¾úÀ» °ÍÀÌ´Ù.
ShellÀº Á¶°³²®ÁúÀÌ ³»ºÎ¸¦ °¨Ãß´Â °Íó·³ ÄÄÇ»ÅÍ¿Í ¿î¿µÃ¼Á¦¸¦ ³»ºÎ·Î ¼û±ä´Ù. SellÀ» ÀÌ¿ëÇÏ´Â »ç¿ëÀÚ´Â ¿î¿µÃ¼Á¦°¡ ¾î¶»°Ô ¸í·ÉÀ» ¼öÇàÇÏ´ÂÁö µîÀÇ º¹ÀâÇÑ °Í¿¡ ½Å°æ ¾µÇÊ¿ä ¾øÀÌ shell¿¡ °£´ÜÈ÷ ¸í·ÉÀ» ³»¸²À¸·Î½á ÇÊ¿äÇÑ ÀÛ¾÷À» ÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾îÁØ´Ù.
shellÀº À̸¦Å×¸é ¿î¿µÃ¼Á¦¿Í »ç¿ëÀÚ¸¦ ¿¬°áÇØÁÖ´Â ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥À̶ó°í ÇÒ ¼ö ÀÖ´Ù. ¿©·¯Á¾·ùÀÇ °ÔÀÓÀÌ ÀÖµíÀÌ shellµµ ¿©·¯Á¾·ùÀÇ ½©ÀÌ ÀÖ´Ù.
ksh,
csh,
bash,
zshellµîÀÌ ÀÖÀ¸¸ç ¸®´ª½º ȯ°æ¿¡¼´Â
bash½©ÀÌ °¡Àå ³Î¸® »ç¿ëµÈ´Ù. ½© ÇÁ·Î±×·¥À̶ó°í ºÎ¸£±âµµ ÇÑ´Ù.
½©Àº ÇÁ·ÒÇÁÆ®¶ó´Â °ÍÀ» ÅëÇؼ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾Æµé¿©¼ ÇÊ¿äÇÑ ÀÏÀ» ¼öÇàÇÑ´Ù.
Upload new Attachment "prompt.jpg"À©µµ¿ìÁî¿¡¼µµ
cmd¶ó°í ºÒ¸®¿ì´Â ½©À» ¶ç¿ï ¼ö´Â ÀÖÁö¸¸, À¯´Ð½ºÀÇ ½©Àº À©µµ¿ìÁîÀÇ ½©°ú´Â ´Ù¸¥ Â÷¿øÀÇ °ÍÀÌ´Ù. GUIȸ鿡¼ ¸¶¿ì½º Ŭ¸¯À¸·Î °ÅÀÇ ´ëºÎºÐÀÇ ÀÏÀ» ó¸®ÇÏ´Â À©µµ¿ìÁî¿Í´Â ´Þ¸® À¯´Ð½º´Â °ÅÀÇ ¸ðµç ÀÛ¾÷ÀÌ ½©¿¡¼ ÀÌ·ç¾îÁø´Ù. ºñ·Ï
KDE¿Í
Gnome¿Í °°Àº µ¥½ºÅ©Å¾ ȯ°æÀÌ ³ª¿À±ä ÇßÁö¸¸, ¿©ÀüÈ÷ ¸¹Àº À¯´Ð½º À¯ÀúµéÀÌ µ¥½ºÅ©Å¾È¯°æÀ» ´ÜÁö ¸¹Àº
½© âÀ» ¶ç¿ì±â À§ÇÑ ¿ëµµ·Î »ç¿ëÇÒ »ÓÀÌ´Ù.
¸®´ª½ºÀÇ ÆÄÀÏ ½Ã½ºÅÛ ±¸Á¶´Â À¯´Ð½ºÀÇ ±×°Í°ú µ¿ÀÏÇÑ
°èÃþ ±¸Á¶¸¦ °¡Áö°í ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ °èÃþ ±¸Á¶´Â µð·ºÅ丮¶ó´Â Ư¼öÇÑ ÇüÅÂÀÇ ÆÄÀÏÀ» ÅëÇؼ ¸¸µé¾îÁø´Ù.
/---+--- 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
¸®´ª½º¿ª½Ã ´Ù¸¥ À¯´Ð½ºµé°ú ¸¶Âù°¡Áö·Î ´ÙÁß»ç¿ëÀÚ ¿î¿µÃ¼Á¦ÀÌ´Ù. ÀÌ·¸´Ù º¸´Ï ½Ã½ºÅÛ ÀÚ¿ø¿¡ ´ëÇÑ Á¢±Ù±ÇÇÑÀÌ ¸Å¿ì Áß¿äÇØ Áø´Ù. ¿¹¸¦µé¾î ƯÁ¤ À¯ÀúÀÇ °³ÀÎ ½Å»óÁ¤º¸¸¦ °¡Áø ÆÄÀÏÀº °áÄÚ ´Ù¸¥ À¯ÀúµéÀÌ º¼ ¼ö À־ ¾ÈµÉ °ÍÀ̸ç
shutdown°ú °°Àº ½Ã½ºÅÛ ´Ù¿î ¸í·ÉÀº Ư¼öÇÑ À¯Àú(½´ÆÛÀ¯Àú)¸¸ÀÌ Á¦ÇÑÀûÀ¸·Î ½ÇÇà°¡´É ÇØ¾ß ÇÒ°ÍÀÌ´Ù. ¾Æ¹¸µç ³×Æ®¿öÅ©ÀåÄ¡, ÆÄÀÏ, ÇÁ·Î¼¼½º, ÀåÄ¡(µð½ºÅ©, CD-ROM, ÇÁ¸°Å͵î)ÀÇ ¸ðµç ½Ã½ºÅÛ ÀÚ¿ø¿¡ ´ëÇؼ »ç¿ëÀÚ °èÁ¤¼öÁØ¿¡¼ÀÇ Á¢±ÙÁ¦¾î¿Í °ü·ÃµÈ Á¦ÇÑÀÌ ÇÊ¿äÇÏ°Ô µÉ °ÍÀÌ´Ù. ȸ»çÀÇ Á÷Ã¥°ú °ü·ÃµÈ ½Ã½ºÅÛ°ú µ¿ÀÏÇÏ´Ù°í º¸¸é µÈ´Ù. ÀÏ¹Ý »ç¿øÀÎÁö, ´ë¸®ÀÎÁö, °úÀåÀÎÁö, »çÀåÀÎÁö¿¡ µû¶ó¼ Á¢±ÙÇÒ¼ö Àִ ȸ»çÀÚ¿øÀÇ ·¹º§ÀÌ °áÁ¤µÇ´Â °Í°ú ¸¶Âù°¡Áö´Ù. ÀÏ¹Ý °øÁö»çÇ×ÀÌ¾ß ÀüÁ÷¿øÀÌ º¼ ¼ö ÀÖÁö¸¸ °æ¿µ°ú °ü·ÃµÈ Áß¿ä ¹®°ÇÀº ÃÖ°í°æ¿µÁø¸¸ º¼¼ö ÀÖ¾î¾ß ÇÒ°ÍÀÌ´Ù.
ȸ»ç·Î Ä¡¸é »ç¿ø °³°³ÀÎÀÌ´Ù. ¸®´ª½º ½Ã½ºÅÛ °üÁ¡¿¡¼ º¸ÀÚ¸é ½Ã½ºÅÛ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ÃÖ¼Ò´ÜÀ§ °´Ã¼°¡ µÈ´Ù. À¯Àú´Â Á¢±ÙÀ» À§Çؼ ÀÚ½ÅÀÇ ID¿Í Æнº¿öµå¸¦ °¡Áö¸ç, ÀÌ¿Ü¿¡µµ ½Ã½ºÅÛ¿¡¼ÀÇ ¿øÇÒÇÑ È°µ¿À» À§ÇÑ "»ç¿ëÀÚ È¨µð·ºÅ丮", "»ç¿ëÀÚ ½©", "Æ÷ÇԵǴ ±×·ì"°ú °°Àº °¢Á¾ ºÎ°¡ÀûÀÎ Á¤º¸µéÀ» °¡Áö°Ô µÈ´Ù.
¸®´ª½º¿¡¼ À¯Àú´Â Å©°Ô 2°³·Î ³ª´©°Ô µÈ´Ù. Àý´ëÀûÀÎ ±ÇÇÑÀ» °¡Áö´Â ½´ÆÛÀ¯Àú¿Í ÀϹÝÀ¯Àú À¯Àú´Ù.
½´ÆÛÀ¯Àú´Â º¸Åë ID·Î
root¸¦ °¡Áö¸ç ½Ã½ºÅÛ¿¡¼ Àý´ëÀûÀÎ ¿µÇâ·ÂÀ» Çà»çÇÑ´Ù. ½Ã½ºÅÛÀÇ ¼Ë´Ù¿î, ¸®ºÎÆÃ, ÀåÄ¡ÀÇ Á¦¾î, À¯ÀúÁ¦¾î, ÆÄÀÏÁ¦¾î¿¡ ÀÖ¾î¼ ÀüÇô Á¦ÇÑÀÌ ¾ø´Ù. ¸¶À½¸¸ ¸Ô´Â´Ù¸é
rm -rf /·Î ½Ã½ºÅÛÀÇ ¸ðµç ÆÄÀÏÀ» ³¯·Á¹ö¸± ¼öµµ ÀÖ´Â Àý´ë ±ÇÇÑÀÚÀÌ´Ù. ¿ö³«¿¡ ¸·°ÇÑ ±ÇÇÑÀ» °¡Áö°í Àֱ⠶§¹®¿¡ ¿î¿µÃ¼Á¦ ÀÚü¸¦ Æı«ÇØ ¹ö¸®´Â ¾îó±¸´Ï ¾ø´Â ½Ç¼ö¸¦ ÇÒ ¼öµµ ÀÖ´Ù. Çؼ ¸î¸î »ó¿ë¿î¿µÃ¼Á¦µéÀº ½´ÆÛÀ¯Àú¶óµµ ÆÄ¿ö¿¡ Á¦ÇÑÀ» µÎ±âµµ ÇÑ´Ù.
ÀÏ¹Ý À¯Àú´Â ½´ÆÛÀ¯Àú¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö À¯Àú¸¦ °¡¸®Å²´Ù. ÀϹÝÀ¯Àú´Â ½´ÆÛÀ¯Àú°¡ Á¤ÇÏ´Â ¹Ù¿¡ µû¶ó¼ ½Ã½ºÅÛ³»¿¡¼ÀÇ ±ÇÇÑ°ú È°µ¿¿µ¿ª¿¡ ÀÖ¾î¼ Á¦ÇÑÀ» ¹Þ°Ô µÈ´Ù.
ȸ»ç¿¡¼´Â ÀÎÀûÀÚ¿ø°ü¸®ÀÇ È¿À²¼ºÀ» ³ôÀ̱â À§Çؼ °³Àκ°·Î Á÷Ã¥°ú Á÷±ÞÀ» µÎ°í À̸¦ ´Ù½Ã ¹¾î¼ ºÎ¼(ÆÀ)¸¦ ¸¸µé¾î¼ °ü¸®ÇÑ´Ù. ±â¼ú°³¹ßÆÀ, °æ¿µÁö¿øÆÀ, ȸ°èÆÀ, ÀλçÆÀµîÀε¥, ÇѸíÀÇ Á÷¿øÀº Çϳª ȤÀº ±× ÀÌ»óÀÇ ÆÀ¿¡ ¼Ò¼ÓµÉ ¼ö ÀÖÀ» °ÍÀÌ°í ÆÀÀÇ Æ¯Â¡¿¡ µû¶ó¼ ±ÇÇÑÀÌ ÀçÁ¶Á¤ µÉ°ÍÀÌ´Ù.
ȸ»ç¿Í °°ÀÌ ºÎ¼(ÆÀ)À» ¸¸µé¾î¼ Á¶Á÷À» È¿À²ÀûÀ¸·Î ¸¸µå´Â°Í°ú °°Àº ±¸Á¶´Â ´Ù¸¥ ¸ðµç Áý´Ü¿¡¼ (À̸§¸¸ ¾à°£ ¹Ù²Ù¾î¼) °øÅëÀûÀ¸·Î ³ªÅ¸³ª¸ç ¿î¿µÃ¼Á¦¿ª½Ã ¿¹¿Ü¾øÀÌ ÀÌ·¯ÇÑ ±¸Á¶¸¦ µû¸¥´Ù.
¸®´ª½º¿¡¼´Â À̸¦ ±×·ìÀ̶ó°í ÇÑ´Ù. ¸®´ª½º¿¡¼ÀÇ ±×·ì¿ª½Ã À¯ÀúÀÚ¿øÀ» È¿À²ÀûÀ¸·Î °ü¸®Çϱâ À§ÇÑ ÀåÄ¡´Ù. ÇϳªÀÇ À¯Àú´Â ÇϳªÀÌ»óÀÇ ±×·ì¿¡ Æ÷Ç﵃ ¼ö ÀÖ´Ù.
À¯Àú¿Í ±×·ìÀº °íÀ¯ÀÇ ±ÇÇÑÀÌ ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ ±ÇÇÑÀº ÁÖ·Î ÆÄÀÏ¿¡ Àû¿ëµÈ´Ù. Áï ÆÄÀÏÀÏ ÀÐÀ»¼ö ÀÖ´ÂÁö (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¿Í °°Àº Ư¼öÇÑ Á¤ÀǸ¦ À§Çؼ »ç¿ëµÈ´Ù.