½©(shell) °³¿ä


[1] shell °³¿ä

[2] shell ÇÁ·Î½ÃÀú¿Í shell ½ºÅ©¸³Æ®

[3] °¢ shellÀÇ °ü°è

[4] ÁÖ¼®¹®°ú ÆÄÀÌÇÁ

[5] ¿ä¾à


shellÀº »ç¿ëÀÚ¿Í À¯´Ð½ºÀÇ ÇÙ½ÉÀÎ Ä¿³ÎÀ» ¿¬°á½ÃÄÑÁÖ´Â Áß°£ÀûÀÎ ¿ªÇÒÀ» ÇÑ´Ù. »Ó¸¸ ¾Æ´Ï¶ó, ¿ÜºÎÀÇ ¿µÇâÀ¸·ÎºÎÅÍ ½Ã½ºÅÛ Çϵå¿þ¾î¸¦ º¸È£ Çϱ⵵ ÇÑ´Ù.

¿©±â¿¡¼­´Â ÀÌ·¯ÇÑ shell¿¡ ´ëÇÏ¿© ±× ±â´É°ú ¿ªÇÒ¿¡ ´ëÇÏ¿© ¾Ë¾Æº»´Ù. ±×¸®°í, shellÀÇ ÇÁ·Î±×·¡¹Ö ȯ°æÀÌ ¾î¶»°Ô ÀÌ·ç¾î Áö´ÂÁöµµ ¾Ë¾Æº¸°Ú´Ù.

shell ÇÁ·Î±×·¡¹ÖÀÇ ÀÛ¼º°ú À̵éÀÇ ½ÇÇà Çϱâ±îÁöÀÇ °úÁ¤µµ ¾Ë¾Æº¼ °ÍÀÌ´Ù. °£´ÜÇÑ ½ºÅ©¸³Æ®¸¦ vi µîÀÇ ¿¡µðÅ͸¦ »ç¿ëÇÏ¿© ÀÛ¼ºÀ» ÇÑ ÈÄ ÀÌ ½ºÅ©¸³Æ®¿¡ ½ÇÇà Çã°¡¸¦ Á־, ½ÇÇàÀ» Çغ¸°í °á°ú¸¦ È®ÀÎÇØ º»´Ù.

±×¸®°í, ¸¶Áö¸·À¸·Î´Â shell ½ºÅ©¸³Æ®¸¦ Çϴµ¥ À־ ¹Ýµå½Ã ÇÊ¿äÇÑ ÆÄÀÌÇÁ(pipe)ÀÇ °³³ä°ú »ç¿ë µî¿¡ ´ëÇÑ ³»¿ëµµ °°ÀÌ ¾Ë¾Æº¸±â·Î ÇÑ´Ù.






[1] shell °³¿ä


1-1. ¼Ò°³


< Àΰ£ »çȸ¿¡¼­ Åë¿ëÀÌ µÇ´Â ¾ð¾î¿Í ±â°è°¡ »ç¿ëÇÏ´Â ¾ð¾î¿¡´Â ¸¹Àº Â÷ÀÌ°¡ ÀÖ´Ù. Àΰ£Àº ÀڽŵéÀÌ »ç¿ëÇÏ´Â ¾ð¾î ±×´ë·Î¸¦ ±â°è¿¡¼­ »ç¿ëÇÏ°í ½Í¾î ÇÑ´Ù. ÀÌ·¯ÇÑ °æ¿ì, Àΰ£ÀÌ »ç¿ëÇÏ´Â ¾ð¾î¸¦ ±â°è°¡ ÀÌÇØÇÒ ¼ö ÀÖ´Â ¾ð¾î·Î Çؼ®ÇÏ¿©, ±× Àǹ̸¦ ±â°è¿¡ Àü´ÞÇÏ¿© ±â°è°¡ ÇØ´ç Àǹ̴ë·Î ¼öÇà µÇ°Ô²û ÇÑ´Ù. ÀÌ¿Í °°ÀÌ UNIX ½Ã½ºÅÛ¿¡¼­ Áß°£ ÀÎÅÍÆäÀ̽º ¿ªÇÒÀ» ÇØÁÖ´Â °ÍÀ» shell() À̶ó ÇÑ´Ù. Áï, ½Ã½ºÅÛ ¿î¿µ üÁ¦ÀÎ À¯´Ð½º¿Í »ç¿ëÀÚ°¡ ¼­·Î ÀÇ»ç ¼ÒÅëÀ» ÇÒ ¼ö ÀÖµµ·Ï µµ¿Í ÁÖ´Â ÇÁ·Î±×·¥À̶ó ÇÒ ¼ö ÀÖ´Ù.

UNIX´Â Ä¿³Î(kernel), shell(shell), »ç¿ëÀÚ(User ¶Ç´Â ¾ÖÇø®ÄÉÀ̼Ç(application))À̶ó´Â 3°¡Áö ±¸Á¶¸¦ °®´Â´Ù. ´ÙÀ½ [±×¸²1]Àº UNIXÀÇ ±¸Á¶¸¦ °£·«È÷ º¸¿©ÁÖ°í ÀÖ´Ù

UNIX ±¸Á¶
[±×¸²1] UNIX ±¸Á¶


[±×¸² 1]À» º¸¸é ½ÇÁúÀûÀÎ Çϵå¿þ¾î¸¦ Á¦¾îÇÏ°í Á÷Á¢ Á¢±ÙÇÏ´Â °ÍÀº Ä¿³Î(KERNEL)À̶ó´Â ºÎºÐÀÌ´Ù. ¶Ç ÀÌ Ä¿³Î¿¡ Á¢±ÙÀÌ µÇ´Â ºÎºÐÀÌ ¹Ù·Î shell À̶ó´Â ºÎºÐÀÌ´Ù. ±×¸®°í, ½ÇÁúÀûÀÎ ÇÁ·Î±×·¥À̳ª »ç¿ëÀÚµéÀº ÀÌ shell¿¡ Á¢±ÙÀÌ µÇ¾îÁø´Ù. ÀÌ°ÍÀº »ç¿ëÀÚÀÇ ¸í·É¾î³ª ÇÁ·Î±×·¥ µîÀÌ ¹Ù·Î ±â°èÀÇ Çϵå¿þ¾î¿¡ Àü´ÞµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó, shell¿¡ ÀÇÇØ ±× ÀÇ¹Ì¿Í ³»¿ëÀÌ ±â°è¾î·Î Çؼ®ÀÌ µÇ¾î Ä¿³Î¿¡ Àü´ÞÀÌ µÇ¸é Ä¿³ÎÀº À̸¦ Çϵå¿þ¾î¸¦ Á¶ÀÛÇÏ´Â ¿î¿µÀ» ÇÏ°Ô µÈ´Ù. ±×·¡¼­, shellÀ» Ä¿³Î°ú »ç¿ëÀÚ »çÀÌÀÇ ÀÎÅÍÆäÀ̽º(Interface) ¿ªÇÒÀ» ÇÑ´Ù°í Ç¥ÇöÇÑ´Ù.

À§ ±×¸²¿¡¼­ Ä¿³ÎÀº UNIXÀÇ °¡Àå Áß¿äÇÑ ºÎºÐÀ¸·Î¼­ UNIXÀÇ ½ÉÀåºÎ¶ó ÇÒ ¼ö ÀÖ°í, ¾ÖÇø® ÄÉÀ̼ÇÀº »ç¿ëÀÚ°¡ ¼öÇàÇÏ´Â ÇÁ·Î±×·¥ÀÌ µÈ´Ù. °¡¿îµ¥ ÀÖ´Â shellÀº Ä¿³Î°ú ¾ÖÇø® ÄÉÀ̼ÇÀÇ ±³·®ÀûÀÎ ¿ªÇÒÀ» ÇÑ´Ù. Çؼ­ shellÀ» Á¤ÀÇÇÑ´Ù¸é '»ç¿ëÀÚ¿Í ¼ø¼ö ¿î¿µÃ¼Á¦ »çÀ̸¦ ¿¬°á½ÃÄÑÁÖ´Â ±â´ÉÀ» ¼öÇàÇÏ´Â Áß°£ÀûÀÎ Á¸ÀçÀÌ´Ù.' ¶ó°í ÇÒ ¼ö ÀÖ´Ù.

À¯´Ð½ºÀÇ ÇÙ½É ºÎºÐÀÎ Ä¿³ÎÀº ½Ã½ºÅÛÀÌ ºÎÆõǾî Á¾·á µÉ ¶§ ±îÁö ¸Þ¸ð¸®¿¡ »óÁÖ¸¦ ÇÏ°Ô µÈ´Ù. ÀÌ Ä¿³ÎÀº ÇÁ·Î¼¼½ºµéÀÇ »ý¼º°ú Á¦¾î¸¦ ´ã´çÇÏ°í, ¸Þ¸ð¸®³ª ÆÄÀÏ ½Ã½ºÅÛ, ¾ÖÇø®ÄÉÀÌ¼Ç µîÀÇ °ü¸®¸¦ ´ã´çÇÑ´Ù. ShellÀº ÇÁ·Î±×·¥À̸ç, ´Ù¸¥ ÇÁ·Î±×·¥µéµµ ¸ðµÎ µð½ºÅ©¿¡ Á¸ÀçÇÑ´Ù. Ä¿³ÎÀº À̵é ÇÁ·Î±×·¥µéÀ» ¸Þ¸ð¸®·Î ·Îµå½ÃÄÑ ½ÇÇàÇÏ°í À̵éÀÌ Á¾·á¸¦ ÇÏ°Ô µÇ¸é À̵éÀÌ »ç¿ëÇÑ Àç¿øµéÀ» ´Ù½Ã Á¤¸®ÇÏ¿© Àç »ç¿ëÀÌ °¡´ÉÇÏ°Ô²û ¿î¿µÀ» ÇÑ´Ù. shellÀº ¿ø·¡ µð½ºÅ©¿¡ Á¸ÀçÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. »ç¿ëÀÚ°¡ ½Ã½ºÅÛ¿¡ ·Î±×ÀÎÀ» ÇÏ°Ô µÉ °æ¿ì Ä¿³Î¿¡ ÀÇÇؼ­ ¸Þ¸ð¸®¿¡ ·Îµå(load)µÇ¾î ½ÃÀÛÀ» ÇÏ´Â ÇϳªÀÇ À¯Æ¿¸®Æ®ÀÌ´Ù.


´ÙÀ½Àº shellÀº ´ÙÀ½ÀÇ ±â´ÉÀ» ¼öÇàÇÑ´Ù.

    ¢º »ç¿ëÀÚ¿Í Ä¿³Î»çÀÌÀÇ ÀÎÅÍÆäÀ̽º(interface) ¿ªÇÒ

    ¢º »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ¸í·É¾î¸¦ Àаí Çؼ®ÇÏ´Â ÇÁ·Î±×·¥ (¸í·É¾î Çؼ®±â : command processor)

    ¢º Çؼ®Çü ÇÁ·Î±×·¡¹Ö ¾ð¾î
     - shell ½ºÅ©¸³Æ®(script ¶Ç´Â ÇÁ·Î½ÃÁ®(prodecure))¶ó´Â shell ¸í·É°ú ¹®ÀåÀ¸·Î ÀÌ·ç¾îÁø
       ÆÄÀÏ ÀÛ¼º °¡´É

    ¢º »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ shell ½ºÅ©¸³Æ®(script)¸¦ »ý¼ºÇÒ ¼ö ÀÖ°í, ÀÌ Å©¸³Æ®(script)ÀÇ ½ÇÇàÀº
      »ç¿ëÀÚ°¡ Ç¥ÁØ UNIX ¸í·É¾î¸¦ ÀÔ·ÂÇÏ´Â °Í°ú °°Àº ¹æ¹ýÀ¸·Î ¼öÇà


ÀÌ·¯ÇÑ shellÀÇ ±â´ÉµéÀº UNIX ½Ã½ºÅÛÀ» ´õ °­·ÂÇÏ°í À¯¿¬ÇÏ°Ô ÇØÁØ´Ù. shellÀº »ç¿ëÀÚ°¡ Ä¿³Î¿¡°Ô ¶Ç´Â Ä¿³ÎÀÌ »ç¿ëÀÚ¿Í ¾î¶°ÇÑ Á¤º¸¸¦ ÁÖ°í ¹ÞÀ» ¶§ ±× Áß°£¿¡¼­ ±³·®¿ªÇÒÀ» ÇÑ´Ù. ±× Áß¿¡´Â »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ¸í·É¾î¸¦ Ä¿³ÎÀÌ ¼öÇà °¡´ÉÇϵµ·Ï Çؼ®Çϱ⵵ ÇÑ´Ù. ÀÌ·Î ÀÎÇØ shellÀ» ¸í·É¾î Çؼ®±â(command processor)¶ó°í ºÎ¸¥´Ù. DOS¿¡¼­ÀÇ command.com°ú °°Àº ¿ªÇÒÀÌ´Ù. ±×¸®°í, shellÀº Çؼ®ÀÌ °¡´ÉÇÑ ÇÁ·Î±×·¡¹Ö ±¸ÇöÀÌ °¡´ÉÇÏ´Ù. À̸¦ ½ºÅ©¸³Æ®(script) ¶ó°í Çϸç, °ü·Ã ÇÁ·Î±×·¥À» »ç¿ëÀÚ°¡ Á÷Á¢ ÀÛ¼ºÇÏ¿© ¼öÇàÀ» ÇÒ ¼ö ÀÖ´Ù. ³»¿ëÀº ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â UNIX ¸í·É¾î¿Í shell ÇÁ·Î±×·¡¹Ö ¾ð¾î µîÀ¸·Î ±¸¼ºµÈ´Ù.

shellÀ» Àß ´Ù·ç´Ù´Â °ÍÀº ±×¸¸Å­ shell¿¡ ´ëÇÏ¿© dzºÎÇÑ °æÇè°ú Áö½ÄÀ» °¡Áö°í ÀÖÀ½À» ÀǹÌÇÑ´Ù. ÀÌ°ÍÀº UNIX ½Ã½ºÅÛÀÇ È¿À²ÀûÀÎ ¿î¿µÀÇ ¹Ø¹ÙÅÁÀÌ µÇ±âµµ ÇÑ´Ù.

shellÀ» »çÀüÀû Àǹ̷Πº¸¸é º¸Åë 'Á¶°³ ²®Áú' µîÀ¸·Î Çؼ®ÀÌ µÈ´Ù. Á¶°³ ²®ÁúÀº ³»ºÎ¸¦ º¸È£ÇÏ°í, °æ¿ì¿¡ µû¶ó¼­´Â ¸ÔÀ̸¦ Èí¼öÇϱâ À§ÇØ ¾à°£ ¹ú¸®±âµµ ÇÑ´Ù. ÀÌó·³ Á¶°³ ²®ÁúÀº Á¶°³ ³»ºÎ¸¦ ¿ÜºÎ·ÎºÎÅÍ º¸È£ÇØ ÁÖ°í, °æ¿ì¿¡ µû¶ó¼­´Â ¿ÜºÎ¿Í ¿¬°áÀ» ÇØÁÖ´Â ±â´ÉÀ» ÇÑ´Ù. ¿Í °°ÀÌ shellÀº UNIX³»ºÎ¸¦ º¸È£Çϱ⵵ Çϸ鼭 »ç¿ëÀÚ¿Í UNIX³»ºÎ¸¦ ¿¬°á½ÃÄÑ ÁÖ´Â ¿ªÇÒÀ» ¼öÇàÇÑ´Ù.

¾ÕÀ¸·Î ÀÚ¼¼È÷ ¼³¸íÀÌ µÇ°ÚÁö¸¸ shellÀº Bourne shell, Korn shell, C shellÀ» °¡Àå ¸¹ÀÌ »ç¿ëÇÏ°í ÀÖÀ¸¸ç, ¿©±â¿¡¼­ º¸¿©Áö´Â ¸ðµç ¿¹Á¦´Â Solaris 8 ȯ°æ¿¡¼­ Á÷Á¢ ¼öÇà ÇÑ °á°úÀ̸ç, shellÀÇ ¼±ÅÃÀº »ç¿ëÀÚÀÇ ±âÈ£³ª ´É·Â°ú ±×¸®°í ȣȯ¼º µîÀÇ ¹®Á¦ÀÏ °æ¿ì°¡ ¸¹´Ù.

shellÀº UNIXÀÇ ÀϺκÐÀÌ´Ù. »ç¿ëÀÚ°¡ ½Ã½ºÅÛÀ» »ç¿ëÇϱâ À§ÇØ Á¢±Ù(=·Î±×ÀÎ)ÀÌ ÀÌ·ç¾î Áö¸é shellÀº È°¼ºÈ­ µÇ°í, ÀÌ »ç¿ëÀÚ°¡ ÀÛ¾÷À» ³¡³»°í Á¾·á Çϸé shellµµ µ¿ÀÛÀ» ¸ØÃß°Ô µÇ¾î shellµµ Á¾·á°¡ µÈ´Ù. Áï, telnet µîÀ¸·Î ½Ã½ºÅÛ¿¡ ·Î±×ÀÎÇϸé shellÀÌ È°¼ºÈ­ µÇ¾î »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ¿ªÇÒÀ» ÇÏ´Ù°¡ »ç¿ëÀÚ°¡ ÀÛ¾÷ÀÌ ³¡³ª°í telnet Á¢¼ÓÀ» Á¾·áÇϸé shellµµ Á¾·á°¡ µÈ´Ù.


´ÙÀ½Àº ÇϳªÀÇ ¸í·É¾î°¡ ÀÔ·Â µÇ¾úÀ» ¶§, shell¿¡ ÀÇÇؼ­ ½ÇÇàÀÌ µÇ´Â ¼ø¼­ÀÌ´Ù.
  1. »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ±â´Ù¸°´Ù(ÇÁ·ÒÇÁÆ®¸¦ Ãâ·Â)

  2. ¸í·É¾î ¶óÀο¡¼­ ¸í·É¾î¸¦ ÀÔ·Â
    - ÇÁ·ÒÇÁÆ®¿¡¼­ ÀÔ·ÂÇÑ ³»¿ëÀ» ¿öµå(word À̸¦ ÅäÅ«(toekn)À̶ó ÇÑ´Ù) ´ÜÀ§·Î ÇØü
    - ¿öµå´Â ½ºÆäÀ̽º¿Í ÅÇÀ¸·Î ±¸ºÐ µÇ¾îÁø °ÍµéÀ» ¸»ÇÏ°í, ¸í·ÉÁÙÀº »õ·Î¿î ÁÙ ¹®ÀÚ·Î ³¡ÀÌ ³­´Ù.

  3. ¸í·É¾î¸¦ Çؼ®ÇÏ¿© ó¸®
    - ù¹ø° ¿öµå°¡ ³»Àå ¸í·É¾îÀÎÁö ¾Æ´Ï¸é µð½ºÅ©¿¡ À§Ä¡ÇÏ´Â ½ÇÇà ÇÁ·Î±×·¥ÀÎÁö¸¦ °Ë»ç
    - ³»Àå ¸í·É¾îÀÌ¸é ³»ºÎÀûÀ¸·Î ½ÇÇà
    - ½ÇÇà ÇÁ·Î±×·¥À̸é shellÀº °æ·Î º¯¼ö(PATH)¿¡ ÁöÁ¤µÈ µð·ºÅ丮¿¡¼­ ÇØ´ç ÇÁ·Î±×·¥À» °Ë»öÇÏ¿©, ÇÁ·Î±×·¥À» ãÀ¸¸é shell Àº »õ·Î¿î ÇÁ·Î¼¼½º¸¦ ÇÒ´çÇؼ­ ±× ÇÁ·Î±×·¥À» ½ÇÇà
    - ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â µ¿¾È shellÀº ´ë±â »óÅÂ(°¡²û ÇÁ·Î±×·¥ÀÇ ÁøÇà »óȲ¿¡ ´ëÇÑ º¸°í¸¦ ÇÑ´Ù)

  4. ¸í·É¾î ½ÇÇà ÈÄ ´Ù½Ã »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ±â´Ù¸°´Ù.
    - ÇÁ·Î±×·¥ ½ÇÇàdl ¿Ï·á µÇ¸é ÇÁ·ÒÇÁÆ®°¡ ´Ù½Ã ³ªÅ¸³ª »õ·Î¿î ¸í·É¾î ÀÔ·Â ´ë±â»óÅÂ

shellÀº ¾î¶² ¸í·É¾î¸¦ ó¸®ÇÒ °æ¿ì Ç×»ó À§ÀÇ ¼ø¼­¸¦ ±âº» ±¸Á¶·Î ÇÏ¿© ½ÇÇàÀÌ µÈ´Ù.

À§ °úÁ¤¿¡¼­ ¸í·É¾î¸¦ Çؼ®ÇÒ °æ¿ì ´ÙÀ½ÀÇ ¼ø¼­´ë·Î Çؼ®À» ÇÑ´Ù.
  (1) ¾Ë¸®¾Æ½º(alias)
  (2) Å°¿öµå(Keyword)
  (3) ÇÔ¼ö(bash)
  (4) ³»Àå Äڸǵå(Internal command)
  (5) ½ÇÇà ÇÁ·Î±×·¥(run program)



1-2. ·Î±×ÀÎ ½©


·Î±×ÀÎ shellÀº »ç¿ëÀÚ°¡ ·Î±×ÀÎÀ» Çϸ鼭 °¡Áö´Â »ç¿ëÀÚ shellÀ̶ó ÇÒ ¼ö ÀÖ´Ù. Áï, ·Î±×ÀÎ shellÀº »ç¿ëÀÚ(user)°¡ ½Ã½ºÅÛ¿¡ ·Î±×ÀÎ ÇÏ¿´À» ¶§ ÀÚµ¿À¸·Î ½ÃÀÛ µÇ¸ç, »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ »ç¿ëÀÚ °èÁ¤ÀÌ ½Ã½ºÅÛ¿¡ óÀ½ »ý¼ºÀÌ µÉ ¶§ »ç¿ë ÇÏ°íÇ shellÀ» ¼³Á¤ÇÏ°Ô²û ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¿äûÇÏ¿© ¼³Á¤ÇÑ´Ù. ¶Ç´Â »ç¿ë Áß¿¡ ÀÚ½ÅÀÌ »ç¿ëÇÏ°íÇ shellÀÌ ÀÖ´Ù¸é °£´ÜÇÏ°Ô ÀüȯÇÏ´Â ¹æ¹ýµµ ÀÖ´Ù.

»ç¿ëÀÚÀÇ ·Î±×ÀÎ shellÀº /etc/passwd ÆÄÀÏ¿¡¼­ ¸¶Áö¸· Çʵå(field)¿¡ Á¤ÀÇ µÈ´Ù. ÀÌ ÆÄÀÏÀº ½Ã½ºÅÛ °ü¸®ÀÚ¿¡ ÀÇÇؼ­¸¸ Á¢±ÙÀÌ °¡´ÉÇϱ⠶§¹®¿¡ ÀÚ½ÅÀÌ »ç¿ëÇÏ°íÇ shellÀº ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ½ÅûÀ» ÇØ¾ß ÇÑ´Ù. ´ÙÀ½Àº /etc/passwd ÆÄÀÏÀÇ ¿¹¸¦ º¸¿© ÁÖ°í ÀÖ´Ù.

   # cat /etc/passwd
   root:x:0:1:Super-User:/:/bin/csh
   :
   lsoo:x:1001:1000: lsoo's home directory:/home1/kim:/bin/csh
   hong:x:1002:1000:hong's home directory:/home1/hong:/bin/ksh

ÀÌ ½Ã½ºÅÛÀÇ root¶ó´Â °èÁ¤Àº C shellÀ» »ç¿ëÇÏ°í ÀÖ°í, lsooÀ̶ó´Â »ç¿ëÀÚ´Â C shell, hong À̶ó´Â »ç¿ëÀÚ´Â Korn shellÀ» »ç¿ë ÇÏ°Ô²û ¼³Á¤µÇ¾î ÀÖ´Ù.

´ÙÀ½Àº /etc/passwd ÆÄÀÏÀÇ Çʵ忡 ´ëÇØ Á¤¸® ÇÑ °ÍÀÌ´Ù.

/etc/passwd ÆÄÀÏÀÇ ÇÊµå ±¸ºÐ
[±×¸²2] /etc/passwd ÆÄÀÏÀÇ ÇÊµå ±¸ºÐ


À§¿Í °°ÀÌ /etc/passwd ÆÄÀÏÀº 7°³ Çʵå(field)·Î ±¸ºÐÀÌ µÇ´Âµ¥ ±¸ºÐÀÇ ±âÁØÀº ': (ÄÝ·Ð)'À» »ç¿ëÇÏ°í, shellÀº ÀÌ ÆÄÀÏÀÇ 7¹ø° Çʵ忡 ¼³Á¤ÀÌ µÈ´Ù.

lsooÀ̶ó´Â »ç¿ëÀÚ °èÁ¤Àº C shellÀ» »ç¿ëÇϵµ·Ï ¼³Á¤ÀÌ µÇ¾î Àִµ¥, ´Ù¸¥ shellÀ» ±âº» shell·Î ¼³Á¤ ÇÏ¿© »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é shell Çʵ带 ´ÙÀ½ Ç¥¿¡ ¸Â°Ô ¼³Á¤ ÇØÁÖ¸é »ç¿ëÀÚÀÇ ±âº» shellÀº º¯°æÀÌ µÈ´Ù.

[Ç¥ 1]¿¡ ÀÖ´Â ³»¿ëÀº °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â shellµéÀ̸ç, Solaris¿¡¼­´Â ±âº»ÀûÀ¸·Î ´ÙÀ½ 4°¡Áö¸¸ Áö¿øÇÑ´Ù.
[Ç¥1] shell °æ·Î ÁöÁ¤
shell½ÇÇà ÆÄÀÏ
C shell /bin/csh
Korn shell /bin/ksh
Bourne shell(UNIXÀÇ Ç¥ÁØ shell) /bin/sh
Job shell /bin/jsh


±âº» shellÀÌ ¼³Á¤ÀÌ µÇ¾ú´Ù¸é »ç¿ëÀÚ´Â ÀÚ½ÅÀÌ ¾î¶°ÇÑ shellÀ» »ç¿ëÇÏ°í ÀÖ´ÂÁö È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ÀÌ´Â shell¿¡ µû¶ó ¼öÇàÇÏ´Â ¸í·É¾î°¡ Â÷ÀÌ°¡ ÀÖ°í, ȯ°æµµ ´Ù¸£±â ¶§¹®ÀÌ´Ù. ÀÌ °æ¿ì ÀÚ½ÅÀÇ ·Î±×ÀÎ shellÀ» È®ÀÎ Çϱâ À§Çؼ­ ´ÙÀ½ 2°¡Áö ¹æ¹ý Áß ¾î´Â Çϳª¸¸À» »ç¿ëÇÑ´Ù.

   (1)# echo $SHELL

   (2)# ps
     # ps
       PID TTY    TIME CMD
       5727 pts/7    0:00 csh

     # echo  $SHELL
     /bin/csh
lsoo¶ó´Â °èÁ¤Àº /bin/csh, Áï C shellÀ» »ç¿ëÇÏ°í ÀÖ´Ù.


1-3. ·Î±×Àο¡¼­ ·Î±× ¾Æ¿ô±îÁö


°¢ »ç¿ëÀÚ°¡ ·Î±×ÀÎ ÇÏ¿© ·Î±× ¾Æ¿ô ÇÏ´Â °úÁ¤À» °£·«È÷ º¸¸é ´ÙÀ½°ú °°´Ù. ½Ã½ºÅÛÀÌ °¡µ¿ÀÌ µÇ¸é Ä¿³ÎÀº Ç×»ó ¸Þ¸ð¸®¿¡ »óÁÖ ÇÏ¿© ½Ã½ºÅÛÀÌ Á¾·á Çϱâ Àü±îÁö´Â »ì¾ÆÀÖ´Ù.

ºÎÆÃÀ» ÇÏ´Â °úÁ¤¿¡ initÀ̶ó´Â ÇÁ·Î±×·¥ÀÌ µ¿ÀÛÀ» ÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥Àº Ç×»ó ¹é±×¶ó¿îµå·Î µ¿ÀÛÀ» Çϴµ¥, ½Ã½ºÅÛÀÌ Á¾·áµÇ±â Àü±îÁö È°µ¿À» ÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥Àº »ç¿ëÀÚ°¡ Á¢¼ÓÀÇ ¿ä±¸°¡ Àְųª ·Î±×ÀÎ À» À§ÇØ ´Ù¸¥ ½Ã½ºÅÛ¿¡¼­ÀÇ Á¢±ÙÀÌ ÀÌ·ç¾î Áö¸é init ÇÁ·Î±×·¥Àº getty ÇÁ·Î±×·¥À» È£Ãâ(call)ÇÏ¿© Á¢¼ÓÀÌ µÈ Å͹̳ο¡ "login: "À̶ó´Â °ÍÀ» Ãâ·ÂÇÑ´Ù. ÀÌ°ÍÀ¸·Î ½Ã½ºÅÛ°ú ´ëÈ­¸¦ ÇÒ ¼ö ÀÖ´Â Áغñ°¡ ³¡³­ °ÍÀÌ´Ù.

·Î±×ÀÎ ID¸¦ ÀÔ·ÂÇÏ°í ¿£ÅÍ(enter)¸¦ Ä¡¸é getty´Â È­¸é¿¡ "password:"¶ó´Â ÇÁ·ÒÇÁÆ®¸¦ Ãâ·Â ½ÃŲ´Ù. getty´Â ÀÔ·ÂµÈ »ç¿ëÀÚÀÇ ·Î±×ÀÎ ID¿Í Æнº¿öµå°¡ ÀÏÄ¡ ÇÏ´ÂÁö È®ÀÎÀ» À§ÇØ loginÀ» È£ÃâÇÑ´Ù. loginÀº /etc/passwd ÆÄÀÏÀÇ ³»¿ë°ú ÀÔ·ÂµÈ »ç¿ëÀÚ ¸í°ú Æнº¿öµå°¡ ÀÏÄ¡ ÇÏ´ÂÁö °Ë»öÇÑ´Ù. ÀÏÄ¡°¡ µÇ¸é loginÀº »ç¿ëÀÚ¸¦ ±×ÀÇ È¨ µð·ºÅ丮¿¡ À§Ä¡ ½ÃÅ°°í, ÀÛ¾÷ ȯ°æÀ» Á¤ÀÇÇÑ º¯¼öµé·Î Çؼ­ ÃʱâÈ­ ȯ°æÀ» ¼³Á¤ÇÏ´Ù. ÀÌµé º¯¼öµéÀº ³ªÁß¿¡ shell¿¡ Àü´ÞµÈ´Ù.

º¸Åë ÃʱâÈ­ º¯¼öµéÀº HOME, SHELL, USER, LOGNAME µéÀ̸ç /etc/passwd ÆÄÀÏ¿¡¼­ ã¾ÆÁø Á¤º¸¿¡ ÀÇÇÏ¿© °ªÀÌ ÁöÁ¤µÈ´Ù. HOME º¯¼ö¿¡´Â »ç¿ëÀÚÀÇ È¨ µð·ºÅ丮, SHELL¿¡´Â ·Î±×ÀÎ shell, USER ¶Ç´Â LOGNAME¿¡´Â »ç¿ëÀÚ ·Î±×ÀÎ À̸§ÀÌ ÁöÁ¤µÈ´Ù. ÀÌÈÄ login ÇÁ·Î±×·¥Àº ½ÃÀÛ ÇÁ·Î±×·¥¿¡°Ô Á¦¾î¸¦ ³Ñ±ä´Ù. ¿©±â¿¡¼­ ½ÃÀÛÇÁ·Î±×·¥À̶õ »ç¿ëÀÚÀÇ ±âº» shell(¶Ç´Â ·Î±×ÀÎ shell)À» ÀǹÌÇÑ´Ù.(±×¸² 3 ÂüÁ¶)

shellÀÇ È°¼ºÈ­ °úÁ¤
[±×¸²3] shellÀÇ È°¼ºÈ­ °úÁ¤



1-4. ¸í·É¾îÀÇ Çؼ®


[±×¸² 3]´Â »ç¿ëÀÚ°¡ ½Ã½ºÅÛ¿¡ Á¢¼ÓÀ» ÇÏ¿© shellÀÌ È°¼ºÈ­ µÇ±â±îÁöÀÇ °úÁ¤À» º¸¿©ÁÖ°í ÀÖ´Ù. ÀÌ°ÍÀº shellÀÌ ¸Þ¸ð¸®¿¡ ·Îµå°¡ µÇ¾îÁö±â ÀüÀÌ´Ù. ±×·¡¼­, »ç¿ëÀÚ°¡ Á¤»óÀûÀ¸·Î ·Î±×ÀÎ ÇÏ¿´À¸¸é, /etc/passwd ÆÄÀÏ¿¡ ¼³Á¤µÇ¾î ÀÖ´Â ·Î±×ÀÎ shell¿¡ µû¶ó Bourne, Korn, CshellÀ» ¸Þ¸ð¸®¿¡ ·ÎµåÇÏ¿© ½ÇÇàÀ» ÇÏ°Ô µÈ´Ù.([Ç¥22-1] shell °æ·Î ÂüÁ¶)

´ÙÀ½Àº [±×¸² 3]ÀÇ (1)¿¡¼­ ¹ß»ýÇÏ´Â °úÁ¤À» ³ª¿­ÇÑ °ÍÀÌ´Ù.

   - °¢ »ç¿ëÀÚÀÇ È¨ µð·ºÅ丮¿¡ ÀÖ´Â ÃʱâÈ­ ÆÄÀÏ(°¢ shellÀÇ ½ÃÀÛ ÆÄÀÏ)À» ÀÐ¾î ½ÇÇà
   - °¢ shellÀÇ ÇÁ·ÒÇÁÆ®¸¦ Ç¥½ÃÇÏ°í, »ç¿ëÀÚÀÇ ¸í·ÉÀ» ±â´Ù¸°´Ù.
   - »ç¿ëÀÚ°¡ ¸í·É¾î¸¦ ÀÔ·ÂÇϸé, À̸¦ Çؼ®ÇÏ¿© Ä¿³Î¿¡°Ô Àü´Þ
   - shellÀº Á¾·á °ªÀÌ ÀԷµǸé shellÀº À̸¦ ÀÔ·ÂÀÇ ³¡À¸·Î Çؼ®ÇÏ¿© shellÀ» Á¾·áÇÑ´Ù.

À§ ³»¿ë Áß ¼¼ ¹ø°ÀÇ ³»¿ëÀº ½ÇÁ¦·Î 󸮸¦ ÇÏ´Â ºÎºÐÀ¸·Î¼­, ´ÙÀ½ÀÇ °úÁ¤À» Æ÷ÇÔÇÑ´Ù. À̸¦ ´Þ¸® shellÀÇ ±â´ÉÀ̶ó ÇÒ ¼ö ÀÖ´Ù.

   a. »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ±â´Ù¸®´Â shell ÇÁ·ÒÇÁÆ®¸¦ Ãâ·Â(¸í·É¾î ÀÔ·Â ´ë±â)
   b. ¸í·É¾î ¶óÀο¡¼­ ¸í·É¾î¸¦ ÀÔ·Â
   c. ¸í·É¾î ó¸®(¸í·É¾îÀÇ Çؼ® ¹× ½ÇÇà)
   d. ¸í·É¾î³ª ÇÁ·Î±×·¥ÀÇ Ã³¸®°¡ ³¡³­ ÈÄ ´Ù½Ã ¸í·É¾î ÀÔ·ÂÀ» ±â´Ù ¸®´Â shellÀÇ Á¦1 ÇÁ·ÒÇÁÆ®¸¦ Ãâ·Â

shellÀº shellÀÌ Á¾·á Çϱâ Àü±îÁö a ~ d °úÁ¤À» °è¼Ó ¹Ýº¹À» ÇÑ´Ù.

ÇÁ·Î¼¼½ºÀÇ °æ¿ì¿¡´Â ½ÇÇàÀÌ µÇ´Â ÇϳªÀÇ ÇÁ·Î±×·¥À» ¸»ÇÏ¸ç °íÀ¯ PID(Process Identification) ¹øÈ£·Î È®ÀÎÀÌ µÈ´Ù. ½Ã½ºÅÛ Ä¿³ÎÀÌ À̵é ÇÁ·Î¼¼½º¸¦ Á¦¾îÇÏ°í °ü¸®¸¦ ÇÏ°Ô µÈ´Ù. ÇϳªÀÇ ÇÁ·Î¼¼½º´Â ÇØ´ç ½ÇÇà ÇÁ·Î±×·¥, µ¥ÀÌÅÍ, ½ºÅÃ, ÇÁ·Î±×·¥ Æ÷ÀÎÅÍ, ½ºÅà Æ÷ÀÎÅÍ, ·¹Áö½ºÅÍ ¹× ÇÁ·Î±×·¥À» ±¸µ¿½ÃÅ°±â À§ÇØ ÇÊ¿äÇÑ Á¤º¸µé·Î ±¸¼ºµÈ´Ù. ¿¹¸¦ µé¾î, shellÀ» ½ÃÀÛÇÏ´Â °Í ÀÚü°¡ ÇϳªÀÇ ÇÁ·Î¼¼½ºÀÌ´Ù. µû¶ó¼­ shellµµ ÇØ´ç ±×·ìÀÇ PID ¹øÈ£¸¦ °®°Ô µÈ´Ù. ±×¸®°í, ÇÑ ¹ø¿¡ Çϳª¸¸ÀÌ ÇÁ·Î¼¼½º ±×·ìÀÇ Å͹̳ÎÀ» Á¦¾îÇÑ´Ù. ±×¸®°í, ÀÌ ÇÁ·Î¼¼½º°¡ Æ÷±×¶ó¿îµå¿¡¼­ ±¸µ¿µÇ°í ÀÖ´Ù°í ¸»ÇÑ´Ù. »ç¿ëÀÚ°¡ ·Î±×¿Â ÇÏ¸é »ç¿ëÀÚÀÇ shellÀÌ Å͹̳ÎÀ» Á¦¾îÇÏ°Ô µÇ°í ÇÁ·ÒÇÁÆ®¿¡¼­ Äڸǵ尡 ÀԷµDZ⸦ ±â´Ù¸°´Ù.

ShellÀº ´Ù¸¥ ÇÁ·Î¼¼½º¸¦ ¸¸µé ¼ö ÀÖ´Ù. ÀÔ·ÂµÈ ¸í·É¾î³ª ½ºÅ©¸³Æ®¸¦ ³»Àå Äڵ峪 µð½ºÅ©¿¡¼­ ½ÇÇà½ÃÄÑÁ٠åÀÓÀ» °®´Â´Ù. ÀÌ ÀÛ¾÷Àº Ä¿³Î¿¡ È£ÃâÇÏ´Â °ÍÀ¸·Î ÀÌ·ç¾îÁø´Ù. ÇϳªÀÇ ½Ã½ºÅÛ È£ÃâÀº Ä¿³ÎÀÇ ¼­ºñ½º¸¦ ¿äûÇÏ´Â °ÍÀ¸·Î ÇϳªÀÇ ÇÁ·Î¼¼½º°¡ ½Ã½ºÅÛÀÇ Çϵå¿þ¾î¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ ¹æ¹ýÀÌ´Ù.

´ÙÀ½ ±×¸²Àº shell°ú ¸í·É¾î°¡ ÀÔ·ÂµÇ¾î ½ÇÇà µÇ¾îÁö°í ´Ù½Ã shell¿¡°Ô ±× ±ÇÇÑÀ» ³Ñ°Ü ÁÖ±â±îÁöÀÇ °úÁ¤À» °£·«È÷ Ç¥ÇöÇÑ °ÍÀÌ´Ù

shell°ú ¸í·É¾î ½ÇÇà
[±×¸² 4] shell°ú ¸í·É¾î ½ÇÇà



1-5. shell º¯È¯


shell º¯È¯À̶õ »ç¿ëÀÚ°¡ ¿øÇÏ´Â shell·Î ÀüȯÇÏ´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¸é ±âº»ÀûÀ¸·Î Bourne shellÀ» »ç¿ëÇÏ°í Àִµ¥ ÆíÁýÀÇ Æí¸®¼º ¶§¹®¿¡ Korn shellÀ» »ç¿ëÇÏ°íÀÚ ÇÑ´Ù. À̶§ ÇÁ·ÒÇÁÆ®¿¡¼­ 'ksh'¶ó°í ÀÔ·Â ÈÄ ¿£ÅÍ(enter)¸¦ Ä¡¸é korn shell·Î ¹Ù²î°Ô µÈ´Ù.

¿¹Á¦] ÇöÀç Bourne shellÀ» »ç¿ëÇÏ°í Àִµ¥, À̸¦ Korn shell·Î ÀüȯÀ» ÇÏ°íÀÚ ÇÑ´Ù.

   # ps
   PID TTY    TIME CMD
   20962 pts/3    0:00 sh
   20963 pts/3    0:00 ps
   # ksh
   # ps
   PID TTY    TIME CMD
   20962 pts/3    0:00 sh
   20965 pts/3    0:00 ps
   20964 pts/3    0:00 ksh
   #

À§ÀÇ °úÁ¤À» º¸¸é sh´Â Ç¥ÁØ Bourne shellÀ» ÀǹÌÇÑ´Ù. ksh¶ó°í ÀÔ·ÂÀ» ÇÔÀ¸·Î½á Korn shell·Î ÀüȯÀÌ µÈ °ÍÀÌ´Ù. Áï, Bourne shellÀÌ È°¼ºÈ­ µÈ ÈÄ ksh¸¦ ÀÔ·ÂÇÏ¿© Korn shellÀÌ È°¼ºÈ­ µÈ °ÍÀÌ´Ù. ±×·¡¼­, Korn shellÀ» Á¾·á ÇÏ°Ô µÇ¸é óÀ½ÀÇ Bourne shell·Î µ¹¾Æ °£´Ù. ¸¸¾à, Korn shell¿¡¼­ C shell·Î ¹Ù²Ù°í ½ÍÀ¸¸é 'csh'¶ó°í ÀÔ·Â ÇÏ¸é µÇ°í, ´Ù½Ã Korn shell·Î °¡°íÀÚ ÇÑ´Ù¸é C shellÀ» Á¾·á ÇÏ¸é µÈ´Ù.

°¢°¢ÀÇ shellÀº ÀÚ½ÅÀÇ shell ȯ°æÀ» ¼³Á¤Çϴ ȯ°æ ÆÄÀϵéÀÌ ÀÖ´Ù. óÀ½ ·Î±×ÀÎÇÏ¿© ȯ°æÀÌ ¼³Á¤ÀÌ µÇ´Â °Íó·³ shell ÀüȯÀ» ÇÒ °æ¿ì¿¡µµ ÀÌ È¯°æ ÆÄÀϵéÀÌ ½ÇÇàÀÌ µÇ¾î ÇØ´ç shellÀÇ È¯°æÀ» ¼³Á¤ÇÑ´Ù. ´Ù½Ã ¼³¸íÇÏÀÚ¸é, ·Î±×ÀÎÀÌ ÀÌ·ç¾î Áö°Å³ª shell º¯È¯ÀÌ ÀÖÀ» °æ¿ì shellÀº È°¼ºÈ­ µÇ°í, È°¼ºÈ­ µÇ¸é¼­ ȯ°æ ÆÄÀÏÀ» ½ÇÇàÇÏ¿© °¢°¢ÀÇ shell¿¡ ¸Â´Â ȯ°æÀ» ¼³Á¤ÇÑ´Ù. ·Î±× ¾Æ¿ô ¶Ç´Â shellÀ» ºüÁ® ³ª°¡¸é shellÀº ÀÚµ¿À¸·Î Á¾·á°¡ µÈ´Ù.


1-6. shell Á¾·á


shellÀÇ Á¾·á´Â ½Ã½ºÅÛ¿¡¼­ ·Î±× ¾Æ¿ô(logout) ¶Ç´Â ÇöÀç »ç¿ëÇÏ°í ÀÖ´Â shellÀ» ºüÁ® ³ª¿Ã °æ¿ì shellÀº Á¾·á°¡ µÈ´Ù. shellÀ» Á¾·á ÇÏ´Â ¹æ¹ýÀº ´ÙÀ½ 3°¡Áö Áß Çϳª¸¦ »ç¿ëÇÏ¸é µÈ´Ù.

   (1) <CTRL-D>

   (2) # logout

   (3) # exit


# logout
Connection closed


shell¿¡ µû¶ó¼­´Â ¸¦ ´©¸£¸é shellÀÌ Á¾·á°¡ µÇ´Â °ÍÀ» ¸·°í, 'exit' ³ª 'logout'¸¸À¸·Î shellÀ» Á¾·á ½ÃÅ°´Â ¹æ¹ýÀÌ ÀÖ´Ù. C shellÀ» »ç¿ëÇÏ´Â »ç¿ëÀÚ¶ó¸é 'set ignoreeof' ¶ó°í ¼³Á¤À» ÇØµÎ¸é ¸¦ ´©¸£¸é 'exit'³ª 'logout'À» »ç¿ëÇÏ¿© Á¾·á Ç϶ó´Â ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.

´ÙÀ½Àº °¢°¢ÀÇ °æ¿ì¿¡¼­ ·Î±× ¾Æ¿ô ¶Ç´Â shellÀ» Á¾·á ÇÏ´Â °ÍÀ» º¸¿©ÁÖ°í ÀÖ´Ù.

# exit
·Î±× ¾Æ¿ô

# logout
·Î±× ¾Æ¿ô

# <CTRL-D>
·Î±× ¾Æ¿ô

À§¿¡¼­ shell ÇÁ·ÒÇÁÆ®´Â # ÀÌ´Ù. Bourne shellÀ̸é $·Î Ç¥½Ã°¡ µÇ¾î¾ß Çϳª ¿©±â¿¡¼­´Â #·Î Ç¥½Ã°¡ µÇ¾ú´Ù. ÀÌ´Â root °èÁ¤ ½´ÆÛ À¯Àú¿¡¼­ »ç¿ëÀ» ÇÏ°í Àֱ⠶§¹®ÀÌ´Ù. ½´ÆÛ À¯Àú °èÁ¤¿¡¼­ »ç¿ëÇϸé Ç×»ó ÇÁ·ÒÇÁÆ®´Â #À¸·Î Ãâ·ÂÀÌ µÈ´Ù.

ÀÌ¿Ü¿¡µµ kill ¸í·ÉÀ» »ç¿ëÇÏ´Â °æ¿ì°¡ Àִµ¥ ÀÌ´Â ½Ã½ºÅÛ °ü¸®ÀÚ Áï ½´ÆÛ À¯Àú ¸¸ÀÌ »ç¿ëÇÏ¿© »ç¿ëÀÚ Á¢¼ÓÀ» ²÷À» ¼ö ÀÖ´Ù.

   # who -a
   :
   root   + pts/9   7¿ù 31 07:46   16448   (:0.0)
   root   + pts/11   8¿ù 21 14:59   25787   (156.7.102.30)
   :
   # kill -9 25787
   #

156.7.102.30À̶ó´Â IP ¾îµå·¹½º¸¦ °¡Áø ÄÄÇ»ÅÍ¿¡¼­ ÇöÀçÀÇ ½Ã½ºÅÛ¿¡ telnetµîÀ¸·Î Á¢¼ÓÀ» ÇÏ¿´´Âµ¥, À̸¦ ½Ã½ºÅÛ °ü¸®ÀÚ°¡ kill ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ÇØ´ç ·Î±×ÀÎ ÇÁ·Î¼¼¼­¸¦ Á¾·á ½ÃÄױ⠶§¹®¿¡ /dev/pts/11 ¹øÀ» °¡Áø »ç¿ëÀÚ ´Ü¸»±â´Â Á¾·á°¡ µÈ´Ù.

shellÀ» Á¾·á ÇÑ´Ù´Â °ÍÀº »ç¿ëÀÚ Á¢¼ÓÀÌ ²÷±â´Â °æ¿ì, ÇöÀç »ç¿ëÀÚ °èÁ¤À» Á¾·á, ·Î±× ¾Æ¿ôÀÇ ÀÇ¹Ì¿Í ÀÏ¸Æ »óÅëÇÑ´Ù. shellÀÌ Á¾·á µÇ¸é Ä¿³ÎÀº init¿¡ Á¦¾î¸¦ ³Ñ±â¾î ·Î±×ÀÎÀ» Àç ½ÃÀÛ Çϵµ·Ï ÇÑ´Ù.

TOP...




[2]shell ÇÁ·Î½ÃÁ®(procedure)¿Í shell ½ºÅ©¸³Æ®(Script)


2-1. shell ÇÁ·Î½ÃÁ®


shell ÇÁ·Î½ÃÁ®´Â ÇϳªÀÇ shell ÇÁ·Î±×·¥ ÆÄÀÏÀ» ÀǹÌÇÑ´Ù. ÀÌ ÆÄÀÏÀº ´Ù¾çÇÑ UNIX ¸í·É¾î¿Í shell ¸í·É¾î·Î ±¸¼ºÀÌ µÇ´Â ÇÁ·Î±×·¥ ÆÄÀϷμ­ ¸¶Ä¡ UNIX ¸í·É¾îó·³ »ç¿ëÇÒ ¼ö ÀÖ´Ù. shell ¸í·É¾îµéÀ» ÇϳªÀÇ ÅؽºÆ® ÆÄÀÏ¿¡ ÀúÀåÇÏ¿© ÀÌ ÆÄÀÏ¿¡ ´ëÇØ ½ÇÇà ±ÇÇÑÀ» Á־ ÀϹÝÀûÀÎ UNIX ¸í·É¾î¸¦ ½ÇÇà ÇϵíÀÌ ½ÇÇàÇÏ¿© ¿øÇÏ´Â °á°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ÇÁ·Î½ÃÁ®µéÀ» shell ½ºÅ©¸³Æ®(script)¶ó°í Ç¥ÇöÇϱ⵵ ÇÑ´Ù. ÀϹÝÀûÀ¸·Î´Â ÇÁ·Î½ÃÁ®¶ó´Â Ç¥Çö º¸´Ù´Â ½ºÅ©¸³Æ®¶ó´Â Ç¥ÇöÀ» ´õ ¸¹ÀÌ »ç¿ëÇÑ´Ù.

±×¸®°í, shell ÇÁ·Î½ÃÁ®´Â º¹ÀâÇÑ ¸í·É¾î¸¦ °£´ÜÈ÷ ÇÒ ¼ö ÀÖ°í, Ç¥ÁØ UNIX ¸í·É¾î¸¦ ÃÖÀûÈ­ ÇÒ ¼ö ÀÖÀ¸¸ç, »ç¿ëÀÚ·Î ÇÏ¿©±Ý »õ·Î¿î ½ÇÇà ÆÄÀÏ(¶Ç´Â ¸í·É¾î)¸¦ »ý¼º ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. shell ÇÁ·Î½ÃÁ®´Â óÀ½ »ý¼ºÀÌ µÉ ¶§ ½ÇÇà Çã°¡¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù. Çؼ­ chmod¶ó´Â ¸í·É¾î·Î ½ÇÇà ¸ðµå¸¦ ÁÖ¾î ÆÄÀÏ ¸í¸¸ ÀÔ·ÂÇÏ¸é ¹Ù·Î ½ÇÇàÀÌ µÇ°Ô²û ÇØÁØ´Ù. ½ÇÇàÇÏ´Â ¹æ¹ýÀº Å©°Ô ´ÙÀ½ µÎ °¡Áö°¡ ÀÖ´Ù.

ÆÄÀÏ¿¡ ½ÇÇà ±ÇÇÑÀ» Á־ ¹Ù·Î ½ÇÇà :
# chmod 755 filename
# filename


ÆÄÀÏ¸í ¾Õ¿¡ 'sh'¸¦ µÐ´Ù.
# sh filename



¿¹Á¦] test01 À̶ó´Â ÆÄÀÏÀ» »ý¼ºÇÏ¿©, ÀÌ ÆÄÀÏÀ» ½ÇÇàÇÏ¿© °á°ú¸¦ ¾ò±â±îÁöÀÇ °úÁ¤ÀÌ´Ù.
   # vi test01
   echo "This is a test1 file"
   date
   # chmod 755 test1
   # test01
   This is a test1 file
   2002³â 10¿ù 14ÀÏ ¿ù¿äÀÏ ¿ÀÀü 10½Ã 20ºÐ 52ÃÊ
   #

À§ ¿¹Á¦´Â test1À̶ó´Â ÆÄÀÏÀ» »ý¼ºÇÏ¿© ½ÇÇà ¸ðµå¸¦ Á־ ÇØ´ç °á°ú¸¦ º¸¿©ÁÖ°í ÀÖ´Ù. test01 À̶ó´Â shell ½ºÅ©¸³Æ®´Â echo ¹®¿¡ ÀÇÇÏ¿© ³»¿ëÀ» Ãâ·ÂÇÏ°í, ÇöÀçÀÇ ³¯Â¥¿Í ½Ã°£À» Ãâ·ÂÇÑ´Ù.

À§ ³»¿ë Áß
# chmod 755 test01
# test01


Àº ´ÙÀ½°ú °°ÀÌ ÇÑ ¹øÀÇ ÀÔ·ÂÀ¸·Î ÇØ°á ÇÒ ¼ö ÀÖ´Ù.

# sh test01

»õ·Î¿î ÇÁ·Î½ÃÁ®¸¦ »ý¼ºÇÏ¿© °è¼Ó »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é ½ÇÇà ¸ðµå¸¦ ÁÖ¾î »ç¿ëÇÏ´Â °ÍÀÌ Æí¸®ÇÏ°í, ´Ü Çѹø¸¸ ¼öÇàÀ» ÇÏ°íÀÚ ÇÑ´Ù¸é 'sh' ¹®À» »ç¿ëÇϸé Æí¸®ÇÒ °ÍÀÌ´Ù.

½ºÅ©¸³Æ®´Â Á¦¾î±¸Á¶, ·çÇÁ(loop),µî ´Ù¾çÇÑ ÇüÅÂÀÇ ÇÁ·Î±×·¥ ±¸Á¶¸¦ °¡Áø´Ù. shell¿¡ µû¶ó Â÷ÀÌ´Â ÀÖÁö¸¸ ¹æ¹ýÀº °ÅÀÇ ºñ½ÁÇÏ°í, ÇØ´ç ³»¿ëÀº °¢°¢ÀÇ shell¿¡¼­ »ó¼¼È÷ º¸±â·Î ÇÑ´Ù.

½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÒ °æ¿ì¿¡´Â ¾î¶² ¾î¶°ÇÑ shellÀ» ±âÁØÀ¸·Î ÇÏ¿© ÀÛ¼ºÀ» ÇÏ´ÂÁö °áÁ¤ÇÏ°í, ÇØ´ç shellÀÇ ¹®¹ý¿¡ ¸Â°Ô²û ÇÁ·Î±×·¡¹ÖÀ» ÇÏ¿©¾ß ÇÑ´Ù. Çؼ­ ½ºÅ©¸³Æ®ÀÇ Ã¹ ÁÙ¿¡ ¾î¶°ÇÑ shellÀ» »ç¿ëÇÏ´ÂÁö Á¤ÀǸ¦ Çصδ °ÍÀÌ ÁÁ´Ù. ÀÌ´Â ÁÁÀº ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ À§ÇÑ ¹æ¹ýÀÌ°í, ÇÁ·Î±×·¥À» ÀÌÇØÇϴµ¥ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.

´ÙÀ½Àº ½ºÅ©¸³Æ®ÀÇ Ã¹ ÁÙ¿¡ ÀÔ·ÂÀÌ µÇ´Â ±ÔÄ¢À» »ó¼¼È÷ ¼³¸íÇÑ °ÍÀÌ´Ù.

   1) ù ÁÙÀÌ #¸¸ ÀÖÀ¸¸é C shellÀÌ´Ù

   2) ù ÁÙÀÌ #!pathnameÀ̸é ÇØ´ç shell
      #!/bin/sh   Bourne shell
      #!/bin/ksh   Korn shell
      #!/bin/csh   C shell

   3) À§ 1°ú 2°¡ ¾Æ´Ï¸é ¹«Á¶°Ç Bourne shell·Î Çؼ®


¸¸¾à ù ÁÙÀÌ ¾Æ´Ï°í µÎ ¹ø° ÁÙ¿¡ #ÀÌ ÀÖ´Ù¸é ÀÌ°ÍÀº ÁÖ¼®¹®À¸·Î Çؼ®ÀÌ µÈ´Ù.

±×¸®°í, shell ½ºÅ©¸³Æ®ÀÇ À̸§À» ÁÙ °æ¿ì, Bourne shell·Î ÀÛ¼º ÇßÀ¸¸é filename.sh, Korn shell·Î ÀÛ¼º ÇÏ¿´À¸¸é filename.ksh, C shell·Î ÀÛ¼º ÇÏ¿´À¸¸é filename.csh µîÀÇ È®ÀåÀÚ¸¦ µÎ¸é shell ½ºÅ©¸³Æ®¸¦ ½±°Ô ÀÌÇØÇÒ °ÍÀÌ´Ù.

¿¹Á¦] ´ÙÀ½ÀÇ color.sh ´Â Bourne shell·Î Â¥¿©Áø ½ºÅ©¸³Æ®ÀÌ´Ù. ±×·±µ¥ ÀÌ ½ºÅ©¸³Æ®ÀÇ Ã¹ ÁÙ¿¡ #!/bin/csh ¶ó°í Á¤ÀǸ¦ ÇÑ ÈÄ ½ÇÇàÀ» ÇÏ¿´À» °æ¿ì¿Í À̸¦ Bourne shell·Î Á¤»óÀûÀ¸·Î ¼³Á¤ ÇßÀ» °æ¿ìÀÌ´Ù.
   # cat color.sh
   #!/bin/csh
   for i in 1 4 5 6 7 31 32 33 34 35 36 41 42 43 44 45 46
   do
   echo "\033[${i}m SKY1004 \033[0m"
   done

   # color.sh
   for: ¸í·É¾î°¡ ¾øÀ½
   do: ¸í·É¾î°¡ ¾øÀ½
   i:   Á¤ÀÇ µÇÁö ¾ÊÀº º¯¼ö

¿¡·¯°¡ ¶ß´Â ÀÌÀ¯´Â color.sh ÆÄÀÏ ¾ÈÀÇ ³»¿ë Áß 'for' ¹®ÀÇ Çü½ÄÀÌ Bourne shell Çü½ÄÀε¥, 󸮸¦ C shell·Î ÇÏ°Ô²û ù ÁÙ¿¡ Á¤ÀÇ°¡ µÇ¾î Àֱ⠶§¹®ÀÌ´Ù. ÀÌ ¹®Á¦ÀÇ ÇØ°áÀº ÆÄÀÏÀÇ Ã¹ ÁÙÀ» ¼öÁ¤ Çϰųª 'for' ¹®À» C shell¿¡ ¸Â°Ô ¼öÁ¤À» ÇÏ¸é µÈ´Ù. ´ÙÀ½Àº ù ÁÙÀÇ ³»¿ëÀ» '#!/bin/sh'·Î ¼öÁ¤ÇÑ °æ¿ìÀÌ´Ù.

   # cat color.sh
   #!/bin/csh
   for i in 1 4 5 6 7 31 32 33 34 35 36 41 42 43 44 45 46
   do
   echo "\033[${i}m SKY1004 \033[0m"
   done

½ÇÇàÀ» Çϸé 'SKY1004' ¶ó´Â ¹®ÀåÀÌ ´Ù¾çÇÑ »ö±òÀ» ¶ç¿ì¸ç Ãâ·ÂÀÌ µÉ °ÍÀÌ´Ù.

color.shÀÇ ½ÇÇà
[±×¸² 5] color.shÀÇ ½ÇÇà



2-2. shell ½ºÅ©¸³Æ®(script)ÀÇ »ý¼º°ú ½ÇÇà


shell ½ºÅ©¸³Æ®ÀÇ »ý¼ºÀº UNIX¿¡¼­ Á¦°øÇÏ´Â ¿¡µðÅÍ µîÀ» »ç¿ëÇÏ¿© ÀÏ¹Ý ÅؽºÆ® ÆÄÀÏÀ» »ý¼º ÇϵíÀÌ ¸¸µé¸é µÈ´Ù. ƯÀÌÇÑ °ÍÀº ½ÇÇàÀÌ µÇ±â À§ÇØ ÄÄÆÄÀÏÀ» ÇÏÁö ¾Ê°í, ½ÇÇàÀÌ µÇ¾îÁöµµ·Ï ½ÇÇà(execute)Çã°¡°¡ Ãß°¡ µÇ¾îÁø´Ù´Â °ÍÀÌ´Ù.

½ºÅ©¸³Æ®ÀÇ »ý¼º¿¡¼­ºÎÅÍ ½ÇÇàÇϱâ±îÁöÀÇ ¼ø¼­´Â ´ÙÀ½°ú °°´Ù.

1) ¿¡µðÅ͸¦ »ç¿ëÇÏ¿© »ý¼ºÇÒ ÆÄÀÏÀ» ¿¬´Ù. ´ëÇ¥ÀûÀ¸·Î´Â vi¸¦ »ç¿ëÇÏ°í, filenameÀº ÆÄÀÏ ³»¿ë¿¡ ¸Â°Ô²û ÀÓÀÇÀûÀ¸·Î ÁØ´Ù.
   # vi filename

ÆÄÀÏÀÇ ³»¿ëÀ» ÀÔ·ÂÇÏ°í ¿¡µðÅ͸¦ Á¾·áÇÑ´Ù.

2) ÆÄÀÏ¿¡ ½ÇÇà ¸ðµåÀÇ ºÎ¿©
   # chmod 755 filename

3) ÆÄÀÏÀÇ ½ÇÇà
   # filename <Enter>

À§ (3)°ú (4)¸¦ ÇÑ ¹ø¿¡ ½ÇÇà ÇÒ ¼ö ÀÖ´Ù.

   # sh filename

´ÙÀ½ ¿¹Á¦¸¦ º¸¸é¼­ shell ½ºÅ©¸³Æ®¸¦ ½ÇÇàÀ» ÅëÇÏ¿© À§ÀÇ °úÁ¤À» ÀÌÇØ ÇϽñ⠹ٶø´Ï´Ù.

¿¹Á¦] ÇöÀçÀÇ ³¯Â¥ ¹× ½Ã°£À» Ãâ·ÂÇÏ°í ÇöÀç ÀÛ¾÷ µð·ºÅ丮ÀÇ ÆÄÀÏ ¸ñ·ÏÀ» Ãâ·ÂÇÏ´Â shell ÇÁ·Î½ÃÁ®(¶Ç´Â ½ºÅ©¸³Æ®(script))ÀÌ´Ù.
   # cat test02.sh
   echo "¿À´ÃÀÇ ³¯Â¥¿Í ½Ã°£Àº : "
   date
   echo "ÇöÀç µð·ºÅ丮ÀÇ files : "
   ls -a

   # chmod 777 test2.s

   # test2.sh
   ¿À´ÃÀÇ ³¯Â¥¿Í ½Ã°£Àº :
   2002³â 10¿ù 15ÀÏ È­¿äÀÏ ¿ÀÈÄ 04½Ã 04ºÐ 33ÃÊ
   ÇöÀç µð·ºÅ丮ÀÇ files :
   .   .X11-unix   audio.var   test02.sh
   ..   .pcmcia   test01.sh   ttday.sh
   



2-3. shell ½ºÅ©¸³Æ®(script)ÀÇ ½ÇÇà °úÁ¤


¾Õ¿¡¼­ shell ½ºÅ©¸³Æ®ÀÇ ÀÛ¼º°ú ½ÇÇàÀ» ÇØ º¸¾Ò´Ù. ±×·¯¸é, À̵é shell ½ºÅ©¸³Æ®µéÀº ½ÇÁ¦ ¾î¶»°Ô ½ÇÇàÀÌ µÇ¾î Áö´ÂÁö ÀÚ¼¼È÷ ¾Ë¾Æ º¸ÀÚ.

óÀ½ »ç¿ëÀÚ°¡ UNIX ½Ã½ºÅÛ¿¡ ·Î±×ÀÎÀ» ÇÏ°Ô µÇ¸é ·Î±×ÀÎ shell¿¡ ¸Â´Â ÇÁ·ÒÇÁÆ®¸¦ Ãâ·ÂÇÏ¿© ¸í·É¾î ÀÔ·Â ´ë±â »óÅ°¡ µÈ´Ù. ÀÌÈÄ À§¿¡¼­ ÀÛ¼ºÇÑ ½ºÅ©¸³Æ®¸¦ ¼öÇàÀ» ÇÏ°Ô µÇ¸é shellÀº ½ÇÇàÇÑ ½ºÅ©¸³Æ®¿¡ ´ëÇØ ÇØ´ç ÇÁ·Î¼¼½º¸¦ È£ÃâÇÑ´Ù. À̶§ ½Ã½ºÅÛÀº È£ÃâµÈ ÇÁ·Î¼¼½º¸¦ ¸Þ¸ð¸®¿¡ ÀûÀç(load)ÇÏ¿© ½ÇÇàÀ» ÇÑ´Ù. À̶§, ½ÇÇàÀÌ µÇ´Â ÇÁ·Î¼¼½º´Â ÇÁ·Î±×·¥, ȯ°æ(º¯¼ö¿Í ±× °ªµé), ·¹Áö½ºÅ͵é, ÆÄÀÏ Áö½ÃÀÚ Å×À̺í, ÇöÀç¿Í ·çÆ® µð·ºÅ丮ÀÇ À̸§ µîÀÇ Á¤º¸ µîÀ» Æ÷ÇÔÇϴµ¥ À̸¦ ÇÁ·Î¼¼½º À̹ÌÁö¶ó°í ÇÑ´Ù.

óÀ½ ½ÇÇàÀÌ µÇ´Â shell ÇÁ·Î¼¼½º¸¦ ºÎ¸ð ÇÁ·Î¼¼½º(parent process)°¡ ÇÑ´Ù. ½ÇÁ¦ÀûÀ¸·Î shell ½ºÅ©¸³Æ®¿¡ ÀÖ´Â ¸í·É¾î¸¦ Çؼ®ÇÏ´Â ÇÁ·Î¼¼½º´Â ÀÚ½Ä ÇÁ·Î¼¼½º¶ó´Â °ÍÀÌ ÇÑ´Ù. À̶§ ÀÚ½Ä ÇÁ·Î¼¼½º´Â ºÎ¸ð ÇÁ·Î¼¼½º°¡ °¡Áö°í ÀÖ´Â ¸ðµç À̹ÌÁö Á¤º¸¸¦ ±×´ë·Î ÀÌ¾î ¹Þ¾Æ¼­ Á÷Á¢ÀûÀÎ ½ÇÇàÀ» ÇÑ´Ù. Áï, óÀ½ ½ÇÇàÀÌ µÇ´Â shell ÇÁ·Î½ÃÁ®´Â shell ÇÁ·ÒÇÁÆ®¸¦ Ãâ·ÂÇÏ°í, ÇØ´ç ÇÁ·Î¼¼½ºÀÇ À̹ÌÁö¸¦ ÀÚ½Ä ÇÁ·Î¼¼½º¿¡°Ô Àü´ÞÇÏ¿© ½ÇÁ¦ÀûÀÎ ¸í·É¾î ¶óÀÎÀÇ Çؼ® ¹× ¼öÇàÀº ÀÚ½Ä ÇÁ·Î¼¼½º°¡ ¼öÇàÇÑ´Ù. ÀÌ ÀÚ½Ä shellÀ» ¼­ºê(sub) shellÀ̶ó°í ÇÑ´Ù.

¿¹Á¦] ´ÙÀ½Àº test03.sh ¶ó´Â ½ºÅ©¸³Æ®¸¦ ¼öÇàÇÑ °æ¿ì¸¦ º¸ÀÚ
   # cat test03.sh
   date
   pwd
   # chmod 755 test03.sh
   # test03.sh
   2000³â 3¿ù 23ÀÏ ¸ñ¿äÀÏ ¿ÀÀü 10½Ã 20ºÐ 52ÃÊ
   /home1/lsoo

À§ ³»¿ë¿¡¼­ 'test03.sh'¸¦ ¼öÇàÀ» ÇÏ¸é ¹Ù·Î °á°ú°¡ Ãâ·ÂµÇ¾ú´Âµ¥, ½ÇÁ¦·Î´Â 'test03.sh'´Â ´ÙÀ½°ú °°ÀÌ µ¿ÀÛÀ» ÇÑ °ÍÀÌ´Ù.

·Î±×ÀÎ shellÀº »ç¿ëÀÚÀÇ ¿ä±¸¿¡ ÀÇÇØ 'test03.sh' ¶ó´Â ÆÄÀÏ À̸§À» ¼öÇàÇÑ´Ù. À̶§ ½ÇÇàÀÌ µÇ´Â ÇÁ·Î¼¼½º´Â ºÎ¸ð ÇÁ·Î¼¼½º°¡ µÈ´Ù. ºÎ¸ð ÇÁ·Î¼¼½º´Â ÀÚ½ÅÀÇ À̹ÌÁö¸¦ ±×´ë·Î °®´Â ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÑ´Ù. ÀÚ½Ä ÇÁ·Î¼¼½º´Â ³»¿ëÀ» ½ÇÇàÇϱâ À§ÇØ °¢°¢ÀÇ ¶óÀÎÀ» Çؼ®ÇÏ¿© ¸Þ¸ð¸®¿¡ ÀûÀç(load) ÇÑ´Ù. CPU´Â ÀÌ ³»¿ëÀ» ó¸®(processing)ÇÏ¿© ÇØ´ç ³»¿ë¿¡ ´ëÇÑ °á°ú¸¦ Ãâ·ÂÇÑ´Ù. ºÎ¸ð ÇÁ·Î¼¼½º´Â ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÏ°í ÀÚ½ÅÀÌ °¡Áö°í ÀÖ´Â À̹ÌÁö¸¦ ³Ñ°ÜÁִµ¥ À̸¦ 'fork' ÇÑ´Ù°í Ç¥ÇöÇÑ´Ù.

ÄÄÆÄÀÏ µÈ ÇÁ·Î±×·¥ÀÇ °æ¿ì ºÎ¸ð shellÀº ¸í·É¾î ¶óÀÎÀ» Çؼ®ÇÏ°í, ÀÚ½Ä shellÀ» »ý¼º ÇÏÁö ¾Ê°í, ÀÚ½Ä ÇÁ·Î¼¼½º¶ó´Â °ÍÀ» »ý¼ºÇÏ¿©, ÀÚ½Ä ÇÁ·Î¼¼½º·Î ÇÏ¿©±Ý ½ÇÇàÀ» ÇÏ°Ô ÇÑ´Ù. Áï, ÀÚ½Ä shellÀº ½º½º·Î Æı«µÇ¸ç ÄÄÆÄÀÏ µÈ ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù.

´ÙÀ½ÀÇ ¿¹Á¦ÀÇ test04.sh ¶ó´Â ½ºÅ©¸³Æ®°¡ ½ÇÇàÀÌ µÇ´Â °úÁ¤À» »ó¼¼È÷ ±â¼úÇÑ °ÍÀÌ´Ù.

¿¹Á¦] ´ÙÀ½Àº test4.sh ¶ó´Â ½ºÅ©¸³Æ®ÀÇ ½ÇÇàÀÌ µÇ´Â °úÁ¤À» »ó¼¼È÷ ¼³¸íÇÑ °ÍÀÌ´Ù.
   # cat test04.sh
   who
   date


   # test04.sh
   root   console   10¿ù 16 08:20   (:0)
   Kim   pts/4   11¿ù 4 07:24   (:0.0)
   hong   pts/3   11¿ù 3 18:58   (:0.0)
   2000³â 3¿ù 23ÀÏ ¸ñ¿äÀÏ ¿ÀÀü 10½Ã 40ºÐ 25ÃÊ


   1) ·Î±×ÀÎ shellÀº ºÎ¸ð ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÏ°í, ºÎ¸ð ÇÁ·Î¼¼½ºÀÇ À̹ÌÁö¸¦ °®´Â ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÏ¿© who¿Í date¸¦ Çؼ®

   2) ÀÚ½Ä shellÀº ¸í·É¾î¸¦ Çؼ®ÇÏ°í °¢ ¸í·É¾îÀÇ ½ÇÇàÀ» À§ÇØ ¼ÕÀÚ ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÑ´Ù. who¿Í date´Â ÄÄÆÄÀÏ µÈ ÇÁ·Î±×·¥ÀÌ°í °°Àº ¸í·É¾î ÆÄÀÏ À̱⠶§¹®¿¡ who¿Í date´Â °°Àº ·¹º§¿¡¼­ ¼öÇàÇÑ´Ù.       who      ´ëüÇÒ »õ·Î¿î ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÏ°í
      who¸¦ ÀÌ·Î ´ëü
      date      ´ëüÇÒ »õ·Î¿î ÇÁ·Î¼¼½º¸¦ »ý¼ºÇÏ°í
      date¸¦ ÀÌ·Î ´ëü

3) who¿Í date ¸í·É¾î°¡ ½ÇÇà µÉ ¶§, ¼¼ °³ÀÇ shell ÇÁ·Î¼¼½º(ºÎ¸ð, ÀÚ½Ä, ¼ÕÀÚ)¸¦ °®´Â´Ù. °á°úÀûÀ¸·Î who¿Í date´Â ¼ÕÀÚ ÇÁ·Î¼¼½º¿¡ ÀÇÇÏ¿© ½ÇÇàµÇ¸ç, ÀÚ½Ä ÇÁ·Î¼¼½º´Â who¿Í date°¡ ½ÇÇà Á¾·á ½Ã Á¾·áµÈ´Ù.
br>

TOP...




[3]°¢ ½©(shell)ÀÇ °ü°è


°¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â º» ½©((Bourne shell), ÄÜ ½©(Korn shell), C shellÀ» ±â¼úÇÑ´Ù. ´ÙÀ½ÀÇ ±×¸²Ã³·³ Korn shellÀº Bourne shellÀÌ °¡Áö°í ÀÖ´Â ±â´É¿¡ ´õ È®ÀåµÈ ±â´ÉÀ» ´õ °¡Áö°í ÀÖ´Ù.

°¢ shellÀÇ °ü°è
[±×¸² 6] °¢ shellÀÇ °ü°è


À§ ±×¸²Ã³·³ Korn ½©Àº Bourne ½©ÀÌ Æ÷ÇÔÇÏ°í ÀÖ´Â ³»¿ëÀ» ±×´ë·Î °¡Áö°í ÀÖ´Ù. ±×·¸´Ù°í C ½©°ú Korn / Bourne ½©ÀÌ ÀüÇô »ó°üÀÌ ¾ø´Â °ÍÀÌ ¾Æ´Ï´Ù. ºÎºÐÀûÀ¸·Î °ãÄ¡´Â ºÎºÐµµ ÀÖ´Ù. ´ÙÀ½Àº °¢°¢ÀÇ ½©À» ºñ±³ÇÑ Ç¥ÀÌ´Ù.

<

[Ç¥5] °¢ shellÀÇ ºñ±³
Ư¡Bourne shell C shellKorn shell
UNIX¿¡¼­ Ç¥ÁØ shellYES NONO
syntax°¡ Bourne shell - NOYES
Job controlYES YESYES
History listNO YESYES
Command-line editingNO YESYES
AliasesNO YESYES
Single-character abbreviation for login directoryNO YESYES
Protection from overwriting( noclobber )NO YESYES
setting to ignore Control-d ( ignoreeof )NO YESYES
Enhanced cdNO YESYES
Initialization file separate from profile NOYESYES
Logout fileNOYES NO


UNIX ½Ã½ºÅÛ¿¡ óÀ½ ·Î±×ÀÎ ÇÏ°Ô µÇ¸é ½©Àº º¯¼öµéÀ» ÇÒ´çÇÑ´Ù. ½©Àº Áö¿ª(local)º¯¼ö ¿Í ȯ°æ(global) º¯¼ö¸¦ Áö¿øÇÑ´Ù. ÀÌ µÎ Á¾·ùÀÇ º¯¼ö´Â ¹®ÀÚ¿­ ÇüÅ·μ­ ÀÚ·áµéÀ» °¡Áø´Ù. º¯¼ö´Â »ç¿ëÀÚ°¡ ±× °ªÀ» ¹Ì¸® Á¤ÀÇ ÇÏ¿© º¯¼ö¸¦ Á¤ÀÇ Çϱ⵵ Çϸç, ±âº»ÀûÀ¸·Î »ç¿ëÀÚ°¡ ·Î±×ÀÎÀ» Çϸé ÀÚµ¿À¸·Î ÇÒ´çÀÌ µÇ´Â Ç¥ÁØ ½© º¯¼öµµ ÀÖ´Ù. º¯¼ö´Â ÇϳªÀÇ °ªÀ» °¡Áø À̸§ÀÌ´Ù. »ç¿ëÀÚ´Â ÇÊ¿ä¿¡ µû¶ó ÀÌµé º¯¼öµéÀ» º¯°æÇÒ ¼ö ÀÖÀ¸¸ç, »ç¿ëÇÏÁö ¾Ê´Â º¯¼ö´Â ¼³Á¤À» ÇÒ ÇÊ¿ä°¡ ¾ø´Ù.

Ç¥ÁØ shell º¯¼ö´Â ´ë¹®ÀڷΠǥÇöÀÌ µÇ¸ç, ½©¿¡ ÀÇÇØ ¹Ì¸® ÇÒ´çÀÌ µÇ¾î ÀÖ´Ù. ÁÖ·Î »ç¿ëÀÚ°¡ ·Î±×ÀÎÀ» ÇÏ¿´À» °æ¿ì ȯ°æÀ» ¼³Á¤Çϱâ À§ÇØ »ç¿ëÀÌ µÈ´Ù. ¶Ç, shell ½ºÅ©¸³Æ®(script)°¡ ¼öÇàÀÌ µÉ ¶§, ÀÚ½Ä ÇÁ·Î¼¼½º¿¡°Ô À̹ÌÁö°¡ Àü´ÞµÇ´Âµ¥, ÁÖ·Î ÀÌ È¯°æº¯¼ö°¡ Àü´ÞµÈ´Ù. Çؼ­ ȯ°æ º¯¼ö¸¦ ±Û·Î¹ú(Global) º¯¼ö¶ó°í ÇÑ´Ù.

¿©±â¿¡¼­ Áö¿ª º¯¼ö¿Í ȯ°æ º¯¼öÀÇ Â÷ÀÌÁ¡À» º¼ ¼ö ÀÖ´Ù. ¸¸¾à ÇöÀçÀÇ ½©ÀÌ ´Ù¸¥ ½©(À̸¦ ¼­ºê ½© ¶Ç´Â ÀÚ½Ä ½©À̶ó ÇÑ´Ù)À» È£ÃâÀ» ÇÒ °æ¿ì, ÀÚ½Ä ½©Àº ±× ºÎ¸ð ½©ÀÌ °¡Áö°í ÀÖ´Â ¸ðµç ȯ°æ º¯¼öÀÇ °ªÀ» ±×´ë·Î º¹»çÇÏ¿© ¾ò´Â´Ù. Áö¿ª º¯¼ö¿¡ ´ëÇؼ­´Â ±× º¹»çº»À» ¾òÁö ¸øÇÏ°í, ÀÚ½Ä ½©ÀÌ È£Ã⠵Ǿî Áú ¶§ ÃʱâÈ­ µÇ¾îÁø´Ù. À̶§ ÀÚ½ÄÀÌ °¡Áö´Â ȯ°æ º¯¼ö´Â ºÎ¸ð ½©°ú ÀÚ½Ä ½© »çÀÌ¿¡¼­ À¯¿ëÇÑ Á¤º¸¸¦ Àü´ÞÇϱâ À§ÇØ »ç¿ëÀÌ µÈ´Ù.

´ÙÀ½ÀÇ ¿¹Á¦¿Í ±×¸²Àº ÀÌÀÇ ³»¿ëÀ» ÀÌÇØ ½ÃÄÑ ÁÙ °ÍÀÌ´Ù.

   # id
   uid=0(root) gid=1(other)
   # echo $USER
   root
   # ksh
         -> Korn ½© È£Ãâ(¼­ºê ½© È£Ãâ)    # echo $USER
   root

À§ ³»¿ëÀº USER¶ó´Â Ç¥ÁØ º¯¼ö´Â ÇöÀç root(½´ÆÛ À¯Àú °èÁ¤)Àε¥, Korn½©À» ¼­ºê ½©·Î È£Ãâ ÇÏ¿´À» °æ¿ì¿¡µµ USER¶ó´Â ȯ°æ º¯¼ö´Â root¶ó´Â °ªÀ» °¡Áö°í ÀÖ´Ù.



shell À̹ÌÁö º¹»ç
[±×¸² 7] shell À̹ÌÁö º¹»ç


»ç¿ëÀÚ°¡ ¼³Á¤ÇÏ´Â º¯¼ö´Â »ç¿ëÀÚ°¡ ÇÊ¿ä¿¡ ÀÇÇØ »ý¼ºÇÏ´Â º¯¼öÀÌ´Ù. ÀÌ·¯ÇÑ »ç¿ëÀÚ Á¤ÀÇ º¯¼öµéÀÇ »ý¼º°ú »ç¿ë, »èÁ¦ µîÀº ÀÌ ÀåÀÇ µÞ ºÎºÐ¿¡¼­ »ó¼¼È÷ ´Ù·é´Ù.

TOP...




[4]ÁÖ¼®¹®°ú ÆÄÀÌÇÁ


4-1. ÁÖ¼®¹®


ÁÖ¼®¹®Àº ½ÇÇàÀ» ÇÏÁö¾Ê°í, ´ÜÁö Çؼ³À» ÷ºÎÇÏ´Â ±â´ÉÀÌ´Ù. C ¾ð¾î·Î ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§ °¢°¢ÀÇ ¶óÀθ¶´Ù ¼³¸íÀ» ´Þ¾Æ ÇÁ·Î±×·¥ÀÇ ÀÌÇظ¦ µ½°í ÀÖ´Ù. C ÇÁ·Î±×·¥¿¡¼­´Â ÀÌ ÁÖ¼®¹®ÀÌ ÄÄÆÄÀÏÀÌ µÇÁö ¾Ê´Â´Ù. shell ¿¡¼­µµ ¸¶Âù°¡Áö·Î C ÇÁ·Î±×·¥°ú´Â ´Þ¸® ÁÖ¼®¹®Àº shell¿¡ ÀÇÇØ Çؼ®ÀÌ µÇÁö¸¸ ½ÇÁ¦·Î´Â ¼öÇàÀº µÇÁö ¾ÊÀ¸¸é¼­ ¼³¸íÀ» ÷ºÎÇÏ¿© ÇÁ·Î±×·¥ÀÇ ÀÌÇظ¦ µ½´Â´Ù.

UNIX shell¿¡¼­´Â ÁÖ¼®¹®À¸·Î ¼³Á¤ÇÏ·Á¸é ÇØ´ç ¹®Àå ¾Õ¿¡ '#' ºÎÈ£¸¦ »ðÀÔÇÏ¸é µÇ¸ç, ½ºÅ©¸³Æ®°¡ ½ÇÇàÀÌ µÉ ¶§ shellÀº ÆÄÀÏÀÇ °¢ ¶óÀÎÀ» Àаí, ¶óÀÎ º°·Î ½ÇÇàÀ» Çϴµ¥, '#'´ÙÀ½ÀÇ ¹®ÀåµéÀº ½ÇÇà µÇ¾îÁöÁö ¾Ê´Â ¼³¸í¹®À̶ó°í Çؼ®À» ÇÑ´Ù.

¿¹Á¦] ÁÖ¼®¹®(comment) ¿¬½À
   # cat test05.sh
   # ÀÌ ¹®ÀåÀº ÁÖ¼®¹® ÀÔ´Ï´Ù #
   # ¿©±âµµ ÁÖ¼®¹® ÀÔ´Ï´Ù #
   clear # È­¸éÀ» ±ú²ýÀÌ Áö¿î´Ù. DOSÀÇ cls¿Í °°À½
   echo " ¾È³çÇϼ¼¿ä : " # echo ¹® ¿¬½ÀÀÔ´Ï´Ù.
   pwd      # ÇöÀç µð·ºÅ丮¸¦ Ãâ·ÂÇÏ´Â Ä¿¸Çµå
   date       # ÇöÀçÀÇ ³¯Â¥ ½Ã°£À» Ãâ·Â
   ######################################
   ### ÁÖ¼®¹® ó¸® ¿¬½À ½ºÅ©¸³Æ®ÀÔ´Ï´Ù ###
   ### ÁÖ¼®¹®Àº ½ÇÇàÀÌ µÇÁö ¾Ê±â ¶§¹®¿¡ ###
   ### °á°ú°¡ È­¸é¿¡ ³ª¿ÀÁö ¾Ê½À´Ï´Ù ###
   ######################################
   # test05.sh
    ¾È³çÇϼ¼¿ä :
   /home/kim
   2000³â 3¿ù 23ÀÏ ¸ñ¿äÀÏ ¿ÀÀü 11½Ã 19ºÐ 10ÃÊ
   #

À§ ¿¹Á¦¸¦ º¸¸é ¹®Àå ¾Õ¿¡ '#'À¸·Î µÇ¾î ÀÖÀ¸¸é, shellÀº À̸¦ ÁÖ¼®¹®À¸·Î ó¸®ÇÏ¿© ½ÇÁ¦ ½ÇÇà °á°ú¿¡´Â Ãâ·ÂÀÌ µÇÁö ¾Ê´Â´Ù.


4-2. ÆÄÀÌÇÁ(pipe) °³³ä


shell¿¡¼­ ¸¹ÀÌ »ç¿ëµÇ´Â °Í Áß¿¡ Çϳª°¡ ÆÄÀÌÇÁÀÌ´Ù. shell¿¡¼­ ÆÄÀÌÇÁ¶ó´Â °ÍÀº ÇÑ ÇÁ·Î¼¼½ºÀÇ Ç¥ÁØ Ãâ·ÂÀ» ´Ù¸¥ ÇÁ·Î¼¼½ºÀÇ Ç¥ÁØ ÀÔ·ÂÀ¸·Î »ç¿ëÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. À̸¦ À§ÇØ | ¶ó´Â Ư¼ö ±âÈ£¸¦ »ç¿ëÇÑ´Ù. »ç¿ëµÇ´Â Çü½ÄÀº ´ÙÀ½°ú °°´Ù.

   # ¸í·É¾î1 | ¸í·É¾î2


À§ÀÇ Çü½Äó·³ ¸í·É¾î1ÀÇ °á°úÀÇ Ãâ·ÂÀ» ÆÄÀÌÇÁ¸¦ °ÅÃÄ À̸¦ ¸í·É¾î 2ÀÇ Ç¥ÁØ ÀÔ·ÂÀ¸·Î »ç¿ëÇÏ´Â °ÍÀÌ´Ù.

ÆÄÀÌÇÁ¸¦ »ç¿ëÇÏ¸é ´Ù¾çÇÑ UNIX ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ÇØ´ç °á°ú Áß ÀÚ½ÅÀÌ ¿øÇÏ´Â °Í¸¸ ÆÄÀÌÇÁ¸¦ ÅëÇØ ³ª¿À´Â °ÍÀ» °Å¸¦ ¼ö ÀÖ´Ù. ÆÄÀÌÇÁ´Â Ç¥ÁØ Ãâ·ÂÀÌ µÇ´Â ³»¿ëÀ» ±×´ë·Î ´ÙÀ½ ¸í·É¾îÀÇ Ç¥ÁØ ÀÔ·ÂÀ¸·Î »ç¿ëÀ» ÇÏ´Â °ÍÀÌÁö, ÇÔ¼öó·³ ¾î¶² ÀÛ¾÷À» ó¸® ÇÏ´Â °ÍÀÌ ¾Æ´Ï´Ù. ´ÙÀ½ÀÇ ¿¹¸¦ º¸ÀÚ.

   # ps -ef | grep nfs

À§ ³»¿ëÀ» Çؼ®Çϸé 'ps -ef'ÀÇ °á°ú Áß nfs°ü·Ã ÇÁ·Î¼¼½º¸¸À» grepÀ¸·Î °ËÃâÇÏ´Â °ÍÀÌ´Ù. Áï, 'ps -ef'ÀÇ °á°ú¸¦ ±×´ë·Î 'grep nfs'ÀÇ ÀÔ·ÂÀ¸·Î ÁÖ´Â °ÍÀÌ´Ù.

   # ls -l | wc -l

À§ÀÇ ¿¹´Â 'ls -l'Àº ÇöÀç µð·ºÅ丮ÀÇ ¸ñ·ÏÀ» ±æ°Ô º¸¿©ÁØ´Ù. ÀÌÀÇ °á°ú¸¦ 'wc -l'·Î Á־ ¶óÀÎ °³¼ö¸¦ ¼¼´Â °ÍÀÌ´Ù. Áï, ÇöÀç µð·ºÅ丮ÀÇ ÆÄÀÏ ¼ö¸¦ ¼¼´Â °ÍÀÌ´Ù.

   # ps -ef | grep nfs | wc -l

À§ÀÇ ³»¿ëÀº 'nfs'°¡ µé¾î ÀÖ´Â ÇÁ·Î¼¼½ºÀÇ ¼ö¸¦ º¸¿©ÁØ´Ù. ÀÌ °æ¿ì¿¡´Â ´Ù¾çÇÏ°Ô »ç¿ëÇÒ ¼ö Àִµ¥, °ü·Ã ÇÁ·Î¼¼½º°¡ ¸î °³°¡ µ¿ÀÛ ÁßÀÎÁö ¾Ë°í ÀÚ ÇÒ °æ¿ì »ç¿ëÇϸé À¯¿ëÇÏ´Ù.

   # vmstat -S 2 | tee /home/vmstat.txt

vmstat¶ó´Â ¸í·É¾î´Â ½Ã½ºÅÛ ¼º´ÉÀ» ÃøÁ¤ÇÏ´Â ¸í·É¾îÀÌ´Ù. 2ÃÊ °£°ÝÀ¸·Î ¼º´É ÃøÁ¤À» Çϴµ¥ Ãâ·Â ÆÄÀÌÇÁ ¶óÀÎÀ» ÅëÇØ tee¸í·É¾îÀÇ ÀÔ·ÂÀ¸·Î µé¾î°£´Ù. tee ¸í·É¾î´Â À̸¦ ¹Þ¾Æ¼­ È­¸é¿¡ Ãâ·Â½ÃÅ´°ú µ¿½Ã¿¡ ÆÄÀÏ /home/vmstat.txt ¿¡ °á°ú¸¦ writeÇÑ´Ù.

ÆÄÀÌÇÁÀÇ »ç¿ëÀº UNIX¸¦ È¿À²ÀûÀ¸·Î »ç¿ëÇϱâ À§ÇÑ ÇϳªÀÇ ¹æ¹ýÀÌ´Ù. ¾ÕÀ¸·Î ÀÌ ÆÄÀÌÇÁÀÇ »ç¿ëÀº »ç¿ëÀÚ¿¡°Ô À־ UNIX °¡À̵尡 µÉ °ÍÀ¸·Î º»´Ù.

TOP...




[ ¿ä¾à ]


[1] shell(shell) À̶õ, »ç¿ëÀÚ¿Í Ä¿³Î »çÀÌ¿¡¼­ ÀÎÅÍÆäÀ̽º ¿ªÇÒÀ» ÇØÁÖ´Â UNIX ÇÁ·Î±×·¥ÀÌ´Ù. ±×¸®°í, ´ÙÀ½ÀÇ ±â´ÉÀ» °¡Áö°í ÀÖ´Ù.
   - »ç¿ëÀÚ¿Í Ä¿³Î»çÀÌÀÇ ÀÎÅÍÆäÀ̽º(interface) ¿ªÇÒ

   - »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ¸í·É¾î¸¦ Àаí Çؼ®ÇÏ´Â ÇÁ·Î±×·¥(¸í·É¾î Çؼ®±â : command processor)

   - Çؼ®Çü ÇÁ·Î±×·¡¹Ö ¾ð¾î

     -> shell ½ºÅ©¸³Æ®(script ¶Ç´Â ÇÁ·Î½ÃÁ®(prodecure))¶ó´Â shell ¸í·É°ú ¹®ÀåÀ¸·Î ÀÌ·ç¾îÁø ÆÄÀÏ
     ÀÛ¼º °¡´É »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ shell ½ºÅ©¸³Æ®(script)¸¦ »ý¼ºÇÒ ¼ö ÀÖ°í, ÀÌ ½ºÅ©¸³Æ®(script)ÀÇ
     ½ÇÇàÀº »ç¿ëÀÚ°¡ Ç¥ÁØ UNIX ¸í·É¾î¸¦ ÀÔ·ÂÇÏ´Â °Í°ú °°Àº ¹æ¹ýÀ¸·Î ¼öÇà


[2] ·Î±×ÀÎ shellÀ̶õ »ç¿ëÀÚ shell·Î¼­ »ç¿ëÀÚ°¡ ½Ã½ºÅÛ¿¡ ·Î±×ÀÎÀ» ÇÏ¿´À» ¶§ ÀÚµ¿À¸·Î ½ÇÇàÀÌ µÈ´Ù. ½Ã½ºÅÛ °ü¸®ÀÚ¿¡ ÀÇÇØ /etc/passwd ÆÄÀÏ¿¡ ¼³Á¤ÀÌ µÇ¸ç, »ç¿ëÀÚ´Â ÇÊ¿ä¿¡ ÀÇÇØ ÀÚ½ÅÀÇ shellÀ» º¯°æÇÒ ¼ö ÀÖ´Ù.


[3] shellÀº getty¿¡ ÀÇÇØ »ç¿ëÀÚ ID¿Í Æнº¿öµå¸¦ ÀÔ·Â ¹Þ¾Æ ÀÌ°ÍÀÌ /etc/passwd ÆÄÀÏ¿¡ ÀÖ´Â ³»¿ë°ú ÀÏÄ¡ÇÏ´ÂÁö °Ë»öÇϱâ À§ÇØ loginÀ» È£ÃâÇÏ°í, ÀÏÄ¡Çϸé loginÀº »ç¿ëÀÚ¸¦ ±×ÀÇ È¨ µð·ºÅ丮¿¡ À§Ä¡ ½ÃÅ°°í, »ç¿ëÀÚ shellÀ» ½ÃÀÛ ½ÃŲ´Ù.


[4] »ç¿ëÀÚ shell º¯È¯Àº »ç¿ëÇÏ°íÇ shellÀÇ ½ÇÇà ¸í·É¾î¸¦ ÀÔ·ÂÇÏ¸é µÈ´Ù. C shell·Î ¹Ù²Ù°í ½ÍÀ¸¸é, 'csh'¶ó°í ÀÔ·ÂÇÏ¸é µÇ°í À̸¦ Á¾·á ÇÏ·Á¸é shellÀ» Á¾·á ÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÑ´Ù.


[5] shellÀ» Á¾·á ÇÏ´Â ¹æ¹ýÀº ´ÙÀ½ 3°¡Áö°¡ ÀÖ´Ù.

      # logout      # exit


[6] shellÀ» Á¾·á ÇÑ´Ù´Â °ÍÀº »ç¿ëÀÚ Á¢¼ÓÀÌ ²÷±â´Â °æ¿ì, ÇöÀç »ç¿ëÀÚ °èÁ¤À» Á¾·á, ·Î±× ¾Æ¿ôÀÇ ÀÇ¹Ì¿Í ÀÏ¸Æ »óÅëÇÑ´Ù. shellÀÌ Á¾·á µÇ¸é Ä¿³ÎÀº init¿¡ Á¦¾î¸¦ ³Ñ±â¾î ·Î±×ÀÎÀ» Àç ½ÃÀÛ Çϵµ·Ï ÇÑ´Ù.


[7] shell ½ºÅ©¸³Æ®¶õ UNIX°¡ Á¦°øÇÏ´Â ¸í·É¾î¿Í shellÀÌ Á¦°øÇÏ´Â ¸í·É¾î¸¦ °¡Áö°í ÀÛ¼ºÇÑ ÇϳªÀÇ ÇÁ·Î±×·¥À¸·Î¼­ »ç¿ëÀÚ°¡ ¿øÇÏ´Â °á°ú¸¦ ½±°Ô ¾òÀ» ¼ö ÀÖ°Ô ÇØÁØ´Ù.


[8] shell ½ºÅ©¸³Æ®¸¦ ½ÇÇà Çϱâ À§Çؼ­´Â

    # sh filename

    # chmod 755 filename

   # filename


[9] ÁÖ¼®¹®Àº Çؼ®Àº µÇÁö ¾Ê°í shell ½ºÅ©¸³Æ®¿¡¼­ ¼³¸íÀ» µ¡ºÙÀ̱â À§ÇØ »ç¿ëµÈ´Ù.


[10] ÆÄÀÌÇÁ(pipe)¶õ, ±âÈ£·Î´Â '|'¸¦ »ç¿ëÇÏ°í, ÇÑ ¸í·É¾îÀÇ Ãâ·Â °á°ú°¡ ´Ù¸¥ ¸í·É¾îÀÇ ÀÔ·ÂÀÌ µÇ°Ô²û ¿¬°áÇØ ÁØ´Ù.

TOP...