¸®´ª½º Äֿܼ¡¼­ »ç¿ëÇÏ´Â ÇÖ Å° ¸¸µé±â

¹ø¿ª: À±ºÀȯ / el@linuxlab.co.kr
By Bryan Henderson

 

     

µé¾î°¡¸ç

    ³ª´Â Ä¿¸Çµå ¶óÀÎ »ç³ªÀÌÀÌ´Ù. ¹°·Ð ³ªµµ ¿äÁò ¸®´ª½º ½Ã½ºÅÛ¿¡ ´ëÇØ ¸ð¸£´Â °Ç ¾Æ´Ï¾î¼­, À©µµ »ç¿ëÀÚó·³ ¹«½ÄÇÑ Ã´ÇÏ°í ¸¶¿ì½º·Î Ŭ¸¯ Ŭ¸¯¸¸ ÇÒ ¼öµµ ÀÖ´Ù. ±×·¯³ª ³ª´Â ¸®´ª½º Äֿܼ¡¼­ ³» ¹è½Ã ÇÁ·ÒÇÁÆ®¸¦(Bash prompt) º¸°í ÀÖÀ» ¶§°¡ Á¦ÀÏ Æí¾ÈÇÏ´Ù. X¸¦(¿ùµå ¿ÍÀ̵å À¥ °÷°÷¿¡ ±×·¡ÇÈ À¥ºê¶ó¿ìÀú°¡ ¾Æ´Ï¸é µé¿©´Ù º¼ ¼ö ¾ø´Â °÷ÀÌ Çã´ÙÇÏ´Ï ÇÒ ¼ö ¾ø¾ú´Ù) ¼³Ä¡Çϱâ Àü±îÁö µÎ ÇØ µ¿¾È ³ª´Â ÇູÇÏ°Ô ¸®´ª½º¸¦ »ç¿ëÇØ ¿Ô´Ù. Áö±Ýµµ ³» ¸¶¿ì½º´Â ÁÖ·Î ¹Ù´Ú¿¡¼­ ³î°í ÀÖ´Ù.

    ±×·¸´Ù°í´Â Çصµ ¸í·ÉµéÀ» ½á³Ö´Â ÀÏÀº Á¤¸» µûºÐÇÏ´Ù: ¿¹¸¦ µé¾î ÇÏ·ç¿¡µµ ½º¹«¹ø¾¿ ³» ¸ÞÀϹڽº¸¦ µé¿©´Ùº¸´Â °Íó·³. ½Å°æ¾²´À¶ó ¸¸µç µÎ ±ÛÀÚÂ¥¸® À¯´Ð½º ¸í·Éµé, ¿¡Àϸ®¾î½ºµé, ±×¸®°í ¸í·ÉÇà ¿Ï¼º(word completion) ±â´É¸¸À¸·Î´Â ±ÍÂúÀº Å° ½ºÆ®·ÎÅ©¿¡¼­ ¹þ¾î³ª±â¿¡ ÇÑÂü ¸Ö¾ú´Ù. ±×·¡¼­ ³ª´Â ±×Àú F2 Å°¸¦ ÇÑ ¹ø ´©¸£±â¸¸ ÇÏ¸é ³» ¸ÞÀÏ ¹Ú½º¿¡¼­ ¸ÞÀÏÀ» °¡Á®¿Àµµ·Ï ¼³Á¤Çϱâ·Î ¸¶À½ ¸Ô¾ú´Ù. F1Àº? ³»°¡ ÇÏ·ç¿¡ ¸î ¹ø¾¿ µé¿©´Ùº¸´Â ·¹ÆÛ·±½º ÆÄÀÏÀ» ¿¬´Ù. ±×¹Û¿¡ ´Ù¸¥ Å°µéÀº ³»°¡ ÀÚÁÖ »ç¿ëÇÏ´Â ¿É¼Ç ¹®ÀÚ¿­µé, ÆÄÀÏÀ̸§µé, ±×¸®°í µð·ºÅ丮 À̸§µéÀ» ³Ö´Â´Ù.

    ¾î¶² ¸í·É, ȤÀº ¸í·ÉÀÇ ÀϺεµ Å°º¸µå¿¡ ÀÖ´Â ¾Æ¹« Å°¿¡³ª ³ÖÀ» ¼ö ÀÖ´Ù. F Å°µéÀº ¹°·ÐÀÌ°í Alt¿Í Control, Shift, 'NumLock' ·¥ÇÁ°¡ ÄÑÁø ´º¸Þ¸¯ Å°Æеå±îÁö ¸¶À½´ë·Î ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

    ¹¹ º°·Î ¾î·Á¿î ³»¿ëÀº ¾øÁö¸¸, Àбä Àоú¾îµµ ÀÌ·± ÀϵéÀ» ¾î¶»°Ô ÇØ¾ß ÇÒÁö ¸ð¸¥´Ù¸é; Á¶±Ý ´õ µµ¿òÀÌ µÉ±î ÇÏ¿© Å°º¸µå ±â´É¿¡ ´ëÇÑ ¹è°æ Áö½ÄÀ» ¾Ë·Á ÁÖ·Á°í ÇÑ´Ù.

 

¹è°æ - ¾î¶»°Ô Å° ½ºÆ®·ÎÅ©°¡ ¸í·ÉÀÌ µÇÁö

    ³ª´Â IBM (ISA) ½ºÅ¸ÀÏÀÇ ÄÄÇ»ÅÍ¿¡ ¿¬°áµÈ IBM Ç¥ÁØ Å°º¸µå¿¡¼­¸¸ ÀÛ¾÷Çߴµ¥, ¿©·¯ºÐÀÇ Å°º¸µå¿¡¼­´Â Àû¿ëÇÒ ¼ö ¾ø´Â °ÍµéÀÌ ¸î °¡Áö ÀÖÀ»Áöµµ ¸ð¸£°Ú´Ù. ÇÏÁö¸¸, ¾î¶² ¸®´ª½º Å°º¸µå¿¡¼­µµ ±âº»ÀûÀÎ Å×Å©´ÐÀº Á¦´ë·Î µ¿ÀÛÇϸ®¶ó ¹Ï´Â´Ù.

    Bash´Â ¸ðµç ¸í·ÉµéÀ»(ÀÌ ±Û¿¡¼­ "¸í·É"À̶õ, ¸í·É ÇÁ·ÒÇÁÆ®¿¡ ´ëÇØ ¿©·¯ºÐÀÌ ÀÀ´äÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù) GNU Readline ¶óÀ̺귯¸®¸¦ ÅëÇØ ¹Þ¾ÆµéÀδÙ. ReadlineÀº ¾î¶² ÇÁ·Î±×·¥¿¡¼­ Å°º¸µå·ÎºÎÅÍ ÀÔ·ÂÀ» ¹Þ¾Æµé¿©¾ß ÇÒ ¶§ »ç¿ëÇÏ´Â ¼­ºê·çƾ ¶óÀ̺귯¸®ÀÌ´Ù. ÇÁ·Î±×·¥¿¡¼­ Å͹̳ÎÀÇ Á¤±Ô ÆÄÀÏ read ´ë½Å ReadlineÀº »ç¿ëÇÏ¿© ¾ò°Ô µÇ´Â ÀåÁ¡Àº Readline Äڵ尡 »ç¿ëÀÚ°¡ ¸¶À½ ¸ÔÀº ´ë·Î ¶óÀÎÀ» ÆíÁýÇÒ ¼ö ÀÖ°í, ReadlineÀÌ ÇÁ·Î±×·¥¿¡ ¿©·¯ºÐÀÇ ¸í·ÉÀ» Àü´ÞÇϱâ Àü¿¡ ¿©·¯ºÐÀÌ ¿øÇÏ´Â ¹æ¹ý´ë·Î ¶óÀÎÀ» ±¸¼ºÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ¸¶¼úÀ» ºÎ¸°´Ù´Â °ÍÀÌ´Ù. ¹é½ºÆäÀ̽º, ¹®ÀÚ¿­ Áö¿ì±â, È÷½ºÅ丮 ¼Òȯ, »ðÀÔ µî Bash ÇÁ·ÒÇÁÆ® À§¿¡¼­ ¿©·¯ºÐÀÌ ÇÒ ¼ö ÀÖ´Â ¸í·É¶óÀÎ ÆíÁýÀÇ ¸¶¼úÀÌ ¸ðµÎ Bash ÀÚüÀûÀ¸·Î Çس»´Â °ÍÀº ¾Æ´ÏÁö¸¸, ¾î·µç Bash°¡ ºÒ·¯¿Â ReadlineÀ» ¼­ºê·çƾÀÌ´Ù.

    Bash´Â(¿ª½Ã GNUÀÇ °ÉÀÛÀÌ´Ù) ReadlineÀÇ °¡Àå Å« °í°´ÀÌ°í, È­·ÁÇÑ ¶óÀÎ ÆíÁý ±â´ÉÀ» °¡Á®´Ù°¡ Á¦´ë·Î È°¿ëÇÏ¿© ¸í¼ºÀ» ³¯¸°´Ù(´ë·« 60¿©°³³ª ÀÖ´Ù). ½ÇÁ¦·Î ÀÌ·± °ÍµéÀº Bash ¸Ç ÆäÀÌÁö¿¡ ¼³¸íµÇ¾î ÀÖ¾ú´Ù.(¹¹ ±×¸®°í ¼ö¹é¸¸ÀÇ »ç¿ëÀÚµéÀÌ amazon.comÀ̶õ »çÀÌÆ®°¡ AOLÀÇ ÀϺζó°í »ý°¢ÇÑµé ¶Ç ¾î¶²°¡) Bash¿¡¼­ ÀÛ¾÷ÀÌ ¸ðµÎ Readline ¶óÀ̺귯¸®ÀÇ ÄÝ ·çƾ(call routines)À̸ç, ´Ù¸¥ ¸¹Àº ÇÁ·Î±×·¥µéµµ °°Àº ·çƾÀ» È£ÃâÇÏ°í, °°Àº ¶óÀÎ ÆíÁý ±â´ÉÀ» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µé¾î Gdb¿Í PostgresqlÀÇ SQL ÇÁ·ÒÇÁÆ® (Psql), ±×¸®°í FTP Ŭ¶óÀ̾ðÆ® ¸î °¡Áö°¡ ±×·¸´Ù.

    ReadlineÀº Å͹̳ηκÎÅÍ ¹®ÀÚµéÀÇ ½ºÆ®¸²À» °¡Á®¿Â ´ÙÀ½ (±×·³ ¿À·¡µÈ Å͹̳ο¡¼­µµ °¡´ÉÇÒ±î? ReadlineÀÇ À¯¿¬¼ºÀº ¸®´ª½º °¡»óÄֿܼ¡¸¸ Á¦ÇѵÇÁö´Â ¾Ê´Â´Ù) ÀÏÁ¤ÇÑ ½ÃÄö½º¿¡ µû¶ó ÀνÄÇÏ°í ÆÄ¾ÇµÈ ¹®ÀÚ¿¡ µû¶ó ÁöÁ¤µÈ ±â´ÉÀ» ½ÇÇàÇÑ´Ù. ¿¹¸¦ µé¾î, E¸¦ È®ÀÎÇß´Ù¸é ReadlineÀº ¿©·¯ºÐÀÌ ±¸¼ºÇÑ ¶óÀο¡ E¸¦ Áý¾î ³Ö´Â´Ù. ReadlineÀÌ Control-A¸¦ È®ÀÎÇß´Ù¸é, Ä¿¼­¸¦ ÁÙÀÇ ¸Ç óÀ½À¸·Î µ¹·Á º¸³½´Ù. TabÀ» ¸¸³µ´Ù¸é ¿©·¯ºÐÀÇ ¸¶À½À» ÀÐÀ» °ÍÀÌ´Ù (´©°¡ ¹¹¶ó Çϵç Àû¾îµµ ³»°Ô´Â ¸¶À½À» Àд °ÍÀ¸·Î º¸ÀδÙ)

    ¾î¶² ¹®ÀÚ ½ÃÄö½º¸¦ ¸¸³µÀ» ¶§ ReadlineÀÌ ¾î¶»°Ô µ¿ÀÛÇÒ °ÍÀÎÁö´Â, ÀϹÝÀûÀ¸·Î ¿©·¯ºÐÀÇ È¨ µð·ºÅ丮 ¾Æ·¡ .inputrc¶ó´Â À̸§ÀÇ ÆÄÀÏ·Î Á¸ÀçÇÏ´Â Readline ¼³Á¤ ÆÄÀÏÀ» ÀÌ¿ëÇؼ­ ¼±ÅÃÇϵµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

 

ÇÖÅ° ¸¸µé±â

    ¿ì¸®°¡ ÀÌ¿ëÇÏ·Á´Â Readline ÇÔ¼ö´Â ±¸¼º ÁßÀÎ ¶óÀο¡ ¹®ÀÚ¿­À» »ðÀÔÇÏ´Â °ÍÀÌ´Ù. ù ¹ø° ¿¹Á¦¸¦ ½±°Ô ¸¸µé±â À§ÇØ ¿ì½º²Î½º·± ÁþÀ» Á» ÇØ¾ß ÇÑ´Ù: ps -a --forest ¶ó´Â ¹®ÀÚ¿­À» ¹®ÀÚ z¿¡ ¿¬°áÇÑ´Ù. ÀÌ·¸°Ô ÇÑ ¹ø Çصθé, ¿ì¸®´Â z°¡ µé¾î ÀÖ´Â ¸í·ÉÀº ÁË´Ù »ç¿ëÇÒ ¼ö ¾ø°Ô µÈ´Ù.
    Èå, Á¤¸» Å͹«´Ï¾ø´Â ÁþÀÌ´Ù.

    z¿¡ ¸í·ÉÀ» ¿¬°áÇϱâ À§ÇØ ~/.inputrc ÆÄÀÏ¿¡ ¾Æ·¡ ¶óÀÎÀ» µ¡ºÙÀδ٠(¸¸¾à .inputrc¶ó´Â À̸§À» °¡Áø ÆÄÀÏÀÌ ¿©·¯ºÐÀÇ È¨ µð·ºÅ丮¿¡ ¾ø´Ù¸é ¾Æ·¡ ÁÙÀ» ³Ö¾î¼­ »õ·Î ¸¸µç´Ù)

      "z":"ps -a --forest"

    ÀÌ·¸°Ô º¯°æÇÑ ³»¿ëÀ» ¿©·¯ºÐÀÇ Äֿܼ¡ Àû¿ëÇÏ´Â °¡Àå °£ÆíÇÑ ¹æ¹ýÀº ·Î±×¾Æ¿ôÇÑ ´ÙÀ½¿¡ ´Ù½Ã ·Î±×ÀÎÇÏ´Â °ÍÀÌ´Ù.

    À§¿¡¼­Ã³·³ ¼³Á¤ÇÑ ´ÙÀ½¿¡, z Å°¸¦ ´©¸£¸é ps -a --forest¶ó´Â ¹®ÀÚµéÀÌ ¿©·¯ºÐÀÇ ¸í·É ¶óÀÎ ¹öÆÛ¿¡ ³ªÅ¸³¯ °ÍÀÌ´Ù(±×·¯´Ï±î ¸í·É ÇÁ·ÒÇÁÆ® µÚ¿¡) ±× ´ÙÀ½ ¿£Å͸¦ ´©¸£¸é ps ¸í·ÉÀÌ ½ÇÇàµÈ´Ù. ±×¸®°í, ¿©·¯ºÐÀº z·Î ½ÃÀÛÇÏ´Â ¸í·É ¶óÀÎÀ» °¡Áú ¼ö ¾ø´Ù´Â °ÍÀ» ¹ß°ßÇÒ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î echo z ¸í·ÉÀ» ½ÇÇàÇÏ·Á ÇÒ ¶§, z¸¦ ¾²´Â ¼ø°£ ¸í·É ¶óÀο¡´Â echo ps -a --forest¶ó´Â ¹®ÀÚ¿­µéÀÌ ³ªÅ¸³¯ °ÍÀÌ´Ù.

    ±×·¯³ª, º¸´Ù ±×·¸µí ÇÏ°Ô ¸¸µé·Á¸é ps ¸í·ÉÀ» F1 Å°¿¡ ¿¬°áÇÏ´Â °Ô ÁÁ°Ú´Ù. z Å°¿Í´Â ´Ù¸£°Ô, F1 Å°¸¦ ´­·¯ ReadlineÀ¸·Î Àü¼ÛÇÏ´Â ¹®ÀÚ°¡ ŸÀÌÇÁÇÒ ¼ö ÀÖ´Â ´Ü¼øÇÑ ¹®ÀÚ°¡ ¾Æ´Ï¶ó¼­ ÀÌ ÀÛ¾÷Àº Á»´õ ¾î·Á¿ü´Ù. ´ë½Å¿¡ F1Àº Å͹̳ΠÇüÅ¿¡ µ¶¸³ÀûÀÎ ¹®ÀÚ ½ÃÄö½º¸¦ º¸³½´Ù. ¿ì¸®´Â ´ÜÁö ¸®´ª½º Äֿܼ¡¸¸ °ü½ÉÀÌ ÀÖÀ¸¸ç ±âº» ¸®´ª½º ÄÜ¼Ö È¯°æ Çϳª¿¡¼­ »ç¿ëÇÑ´Ù. ÀÌ·± °æ¿ì F1Àº À̽ºÄÉÀÌÇÁ(Escape), [, [, ±×¸®°í A, µî ¹®ÀÚ ³× °³¸¦ Àü¼ÛÇÑ´Ù.

    ±×·¸Áö¸¸ F1À» ´­·¯µµ À§¿¡¼­ ¸»ÇÑ ¹®ÀÚ ³× °³°¡ ³ªÅ¸³ªÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. RaedlineÀÇ Àοë-»ðÀÔ(quoted-insert) ±â´ÉÀ» ÀÌ¿ëÇؼ­ Å×½ºÆ®ÇÒ ¼ö ÀÖ´Ù. Àοë-»ðÀÔÀº Å°°¡ °¡Áö°í ÀÖ´Â ±â´ÉÀ» ½ÇÇàÇÏÁö ¾Ê°í ij¸¯ÅÍ °ªÀ» ¸í·É¶óÀο¡ ³Ö´Â´Ù. ReadlineÀÌ Å° ½ºÆ®·ÎÅ©¸¦ À̽ºÄÉÀÌÇÁ ¹®ÀÚ·Î Çؼ®ÇÏÁö ¸øÇÏ°Ô ÇÒ ¶§ ÇÊ¿äÇÏ´Ù. ÀÌ ±â´ÉÀ» ÀÌ¿ëÇؼ­ ¿©·¯ºÐÀÌ F1ÀÌ Àü´ÞÇÏ´Â °ªÀ» ¾Ë¾Æº¸·Á¸é Bash ÇÁ·ÒÇÁÆ®¿¡¼­ Control-V¸¦ ´©¸¥ ´ÙÀ½ F1 Å°¸¦ ´©¸£¸é µÈ´Ù. ReadlineÀº À̽ºÄÉÀÌÇÁ¸¦ Ç¥½ÃÇÏ°í À̾ ¹®ÀÚ ¼¼ °³¸¦ ÀԷ¶óÀο¡ Ãâ·ÂÇÏ°í ¿ø·¡ Ãâ·ÂµÉ °ªÀ» À̾ º¸¿©ÁØ´Ù. À̽ºÄÉÀÌÇÁ ¹®ÀÚ´Â ¾Æ¸¶ Control-[¸¦ ¶æÇÏ´Â ^[ÀÏ °ÍÀÌ´Ù(EscapeÀÇ ´Ù¸¥ À̸§ÀÌ´Ù) ÀÌ Æ®¸¯Àº ¿©·¯ºÐÀÇ Å°º¸µå¿¡ ÀÖ´Â Å°°¡ ¿ø·¡ °¡ÁöÁø Á¤È®ÇÑ ½ÃÄö½º¸¦ ¹ß»ý½ÃÅ°´Â °¡Àå ½¬¿î ¹æ¹ýÀÌ´Ù.

    F1ÀÌ À̽ºÄÉÀÌÇÁ-[-[-A ½ÃÄö½º¸¦ Àü¼ÛÇÑ´Ù´Â °ÍÀ» ±â¾ïÇÏ°í, ~/.inputrc ÆÄÀÏ¿¡ ÀûÀýÇÑ ¼³Á¤°ªÀ» ³Ö¾î¾ß ÇÑ´Ù. À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ÆÄÀÏ¿¡ ³ÖÀ» ¶§¿¡ ¿¡µðÅÍ¿¡¼­ ÀÚüÀûÀ¸·Î Áö¿øÇÏÁö´Â ¾Ê´Â´Ù. ±×·¯¹Ç·Î ¼³Á¤ ÆÄÀÏ¿¡ ÀÖ´Â ¡¬e ¹®ÀÚ¿­À» À̽ºÄÉÀÌÇÁ ¹®ÀÚ·Î ¹Þ¾ÆµéÀ̵µ·Ï ReadlineÀÌ ¿©·¯ºÐÀ» µµ¿Í¾ß ÇÑ´Ù. ÀÌÁ¦ À§¿¡¼­ ~/.inputrc ÆÄÀÏ¿¡ ¼³Á¤Çß´ø z Å°¸¦ Áö¿ì°í ¾Æ·¡Ã³·³ °íÃÄ ³Ö´Â´Ù:

      "¡¬e[[A":"ps -a --forest"

    ·Î±×¾Æ¿ôÇÏ°í ´Ù½Ã ·Î±×ÀÎÇÏ´Â ´ë½Å Á»´õ ¼¼·ÃµÈ ¹æ¹ýÀ» »ç¿ëÇÏ·Á ÇÑ´Ù¸é Control-X Control-R Å°¸¦ ´©¸¥´Ù. ±×·¯¸é ¿©·¯ºÐÀÇ Readline ¼³Á¤ÆÄÀÏÀ» ´Ù½Ã ºÒ·¯¿Ã °ÍÀÌ´Ù. ÀÌÁ¦´Â F1 Å°¸¦ ´©¸£¸é ps -a --forest°¡ ³ªÅ¸³¯ °ÍÀÌ´Ù.

    ±×·¸Áö¸¸, F1 ´ÙÀ½¿¡ ¿£Å͸¦ ´©¸£¸é Áö±Ý±îÁö ¼³Á¤ÇÑ °ÍµéÀÌ Àǹ̸¦ ÀÒ°í ¸¸´Ù. ¸¶Ä¡ ¸®¸ðÄÜÀ» TV¿¡ ´êÀ» ¸¸Å­ °¡±îÀÌ °¡Á®°£ ´ÙÀ½ ä³Î¹öÆ°À» ´©¸£´Â °Í°ú °°´Ù.

    ÄÝ·Ð ´ÙÀ½¿¡ ½á³ÖÀº °ÍµéÀº ¸ÅÅ©·Î·Î È£ÃâµÈ´Ù. (µû¿ÈÇ¥·Î µÑ·¯½Î¿© ÀÖÁö ¾Ê´Ù¸é ¶óÀÎÀÇ ³¡°ú °°Àº ±â´ÉÀÏ °ÍÀÌ´Ù) ReadlineÀº ¸í·É ÇàÀÇ ¹®ÀÚ¿­¿¡¼­ ƯÁ¤ÇÑ ¹®ÀÚ¸¦ ¸¸³µÀ» ¶§ ¸¶Ä¡ ¿©·¯ºÐÀÌ ½á³ÖÀº °Íó·³ ¿¬°áµÈ ´Ù¸¥ ¹®ÀÚ¿­À» ³Ö´Â´Ù. À§¿¡¼­Ã³·³ ÇÒÁö¶óµµ ÀÌÁ¦±îÁö´Â ´ÜÁö ¶óÀÎ ¹öÆÛ¿¡ ¹®ÀÚµéÀ» »ðÀÔÇϵµ·Ï Á¤ÀǵǾúÀ» »ÓÀÌ´Ù(p, s, µî) ¿ì¸®´Â º¸´Ù ³¶¸¸ÀûÀÎ ÀÏ¿¡ ¿¬°áÇÑ ¹®ÀÚµéÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·± ¹®ÀÚ °¡¿îµ¥ Çϳª°¡ ij¸®Áö ¸®ÅÏ(Carriage Return)Å°ÀÌ´Ù (¿©·¯ºÐÀº ŸÀڱ⸦ ±â¾ïÇϴ°¡?) ¿£ÅÍÅ°¸¦ ´­·¶À» ¶§ ¿©·¯ºÐÀÇ Å͹̳ΠÀü¼ÛÇÏ´Â. ij¸®Áö ¸®ÅÏÀº Control-M°ú °°À¸¹Ç·Î ¿©·¯ºÐÀº ij¸®Áö ¸®ÅÏÀ» ReadlineÀÇ Æ¯º°ÇÑ ±âÈ£¹ýÀÎ "¡¬C-M"À¸·Î ¹Ù²Ù¾î¼­ ÁÙ ½¬¿¡ ³Ö¾î¾ß ÇÑ´Ù. ÀÌÁ¦ ¾Æ·¡ ÁÙÀ» ¿©·¯ºÐÀÇ ~/.inputrc ÆÄÀÏ¿¡ ³Ö°í ¼³Á¤ÆÄÀÏÀ» ´Ù½Ã Àоî¿À¸é ¿©·¯ºÐÀº ¿ø-ÅÍÄ¡ ps ¸í·ÉÀ» º¸°Ô µÉ °ÍÀÌ´Ù.

      "¡¬e[[A":"ps -a --forest¡¬C-M"

    ÀÌ°Ô ½ÇÁ¦·Î ÇÊ¿äÇÑ ÀüºÎÀÌ´Ù. ¿øÇÏ´Â ¾î¶² ¸í·ÉÀ̵çÁö, ±×¸®°í ¿©·¯ºÐÀÌ ¿øÇÏ´Â Å°°¡ ¹«¾ùÀ̵çÁö ¸¶À½´ë·Î Á¶ÇÕÇÒ ¼ö ÀÖ´Ù. ¿©·¯ºÐÀÇ FÅ°¿Í ´º¸Þ¸¯ Å°ÆÐµå ½ÃÄö½º ¿¬°áÀ» ¾Ë¾Æ³»±â À§ÇØ Àοë-»ðÀÔ Å×Å©´ÐÀ» »ç¿ëÇÑ´Ù. ÀÌ ¶§ ´º¸Þ¸¯ Å°Æеå´Â ¸ðµå¿¡ ÁÖÀÇÇÑ´Ù. ´º¸Þ¸¯ Å°Æеå´Â Åä±Û»óÅ¿¡ µû¶ó ÀüÇô ´Ù¸¥ ½ÃÄö½º¸¦ Àü¼ÛÇÑ´Ù.

    Alt, Control°ú Á¶ÇյǴ Ű¸¦ À§ÇØ C-x¿Í M-x¸¦ ~/.inputrc ÆÄÀÏ ¾È¿¡¼­ »ç¿ëÇÑ´Ù ( MÀº MetaÀÇ ¾àÀÚ·Î Alt Å°¸¦ ³ªÅ¸³½´Ù)

    ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡¼­ Info ¹®¼­¿¡ ¸µÅ©µÇ¾î ÀÖ´Â "Readline User's Guide"¸¦ º¸¸é ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÌ´Ù. Readline ¼­ºê·çƾÀÇ ¸Ç ÆäÀÌÁöµµ ¿ª½Ã µµ¿òÀÌ µÈ´Ù.

      info readline
      man readline

     

     

    æ»ñÉ: Info »ç¿ë¹ý
    Info´Â ÇÏÀÌÆÛÅؽºÆ® ÇüÅ·ΠInfo ¹®¼­³ª ¸Ç ÆäÀÌÁö¸¦ »ìÆ캸´Â µµ±¸ÀÌ´Ù. Info ¾È¿¡¼­´Â Node¸¦ ÅëÇØ ¹®¼­¸¦ ¿Å°Ü ´Ù´Ï´Âµ¥, ³ëµå´Â À¥¿¡¼­ ÇÏÀÌÆÛ¸µÅ©¿Í ºñ½ÁÇÏ´Ù.

    À§ ±×¸²¿¡¼­ ÇöÀç ³ëµå´Â Command Line EditingÀÌ°í ´ÙÀ½ ÁÖÁ¦´Â Programming with GNU R¡¬ÀÌ´Ù. 'n' Å°¸¦ ´©¸£°Å³ª '>' Å°¸¦ ´©¸£¸é ´ÙÀ½ ³ëµå·Î À̵¿ÇÑ´Ù.(¿£ÅÍ´Â ´©¸£Áö ¾Ê´Â´Ù) 'p'³ª '<' ¸í·ÉÀº ÀÌÀü ³ëµå·Î À̵¿ÇÑ´Ù.

    * Menu : ¶óÀÎ ¾Æ·¡¿¡ '*' ¹®ÀÚ·Î ½ÃÀÛÇÏ´Â °ÍµéÀº ¸Þ´ºÀÌ´Ù. ¸Þ´º´Â 1, 2, 3 µî
      ¼ýÀÚ¸¦ ÀÌ¿ëÇؼ­ ¼±ÅÃÇÒ ¼ö Àִµ¥, ¿¹¸¦ µé¾î À§ ±×¸²¿¡¼­
      '1'Àº * Introduction and Notation:: Notation used in this text.,
      '2'´Â * Readline Interaction:: The minimum set of commands for editing
      a line. ÀÌ´Ù.

    ÁöÁ¤ÇÑ ÁÖÁ¦ÀÇ Ã¹ ÆäÀÌÁö·Î °¥ ¶§¿¡´Â 't' ¸í·ÉÀ» »ç¿ëÇÑ´Ù. ±×¸®°í ºê¶ó¿ìÀú¸¦ ³¡³¾ ¶§¿¡´Â 'q' Å°¸¦ ´©¸¥´Ù.

    's' Å°¸¦ ´©¸£¸é È­¸é ¾Æ·¡ ÂÊ¿¡ Search for string []: À̶ó´Â ÇÁ·ÒÇÁÆ®°¡ ³ªÅ¸³­´Ù. ÇÁ·ÒÇÁÆ®¿¡ ÀÌ¾î °Ë»öÇÏ·Á´Â ¹®ÀÚ¿­À» ¾²¸é º»¹® °¡¿îµ¥ ÀÏÄ¡ÇÏ´Â ¹®ÀÚ¿­À» ã¾ÆÁØ´Ù.

    'PqDn', 'PgUp'À» ÀÌ¿ëÇØ È­¸éÀ» ½ºÅ©·ÑÇÏ¸ç ½ºÆäÀ̽º¹Ù¸¦ ´©¸£¸é ÇÑ ÆäÀÌÁö ¾Æ·¡·Î À̵¿ÇÑ´Ù.


 

Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê´Â´Ù¸é

    ÀÌÁ¦ Å°½ºÆ®·ÎÅ©°¡ Readline ÀÌÀü ·¹ºíÀÇ ÀÎÅÍ·´Æ® ¶§¹®¿¡ ¿©·¯ºÐÀÌ ±â´ëÇÑ °Íó·³ µ¿ÀÛÇÏÁö ¾Ê´Â µî ¸î °¡Áö ¹®Á¦»óȲ¿¡ ´ëÇØ À̾߱âÇÏ·Á ÇÑ´Ù.

    ¿ì¼±, tty µð¹ÙÀ̽º µå¶óÀ̹ö°¡ (ÇöÀç Å°º¸µå µð¹ÙÀ̽º µå¶óÀ̹öº¸´Ù ¾Õ¼± ¼öÁØÀÇ µå¶óÀ̹öÀÌ´Ù) stty ÇÁ·Î±×·¥¿¡ ÀÇÇؼ­ Á¦¾îµÇ´Â Ư¼ö ¹®ÀÚ ¸î °³¸¦ Àå¾ÇÇÑ´Ù. ReadlineÀº ´ëºÎºÐÀÇ tty ÀÎÅÍÆäÀ̽º¸¦ ²ôÁö¸¸, Control-S, Control-Q, Control-C, Control-Z µî Å° ½ºÆ®·ÎÅ©´Â °áÄÚ °¡·Îç ¼ö ¾øÀ» °ÍÀÌ´Ù. tty µå¶óÀ̹ö°¡ °¡·Îä¾î¼­ ¿ø·¡ Á¤ÇØÁø ´ë·Î µ¿ÀÛÇÏ°Ô ÇÑ´Ù.

    ´ÙÀ½Àº Å°º¸µå µå¶óÀ̹öÀÌ´Ù. Å°º¸µå µå¶óÀ̹ö´Â ¿©·¯ºÐ ¸¶À½´ë·Î ¸ðµç Å°¸¦ ´Ù·ê ¼ö ÀÖµµ·Ï ȯ°æÀ» Á¦°øÇϴµ¥ Readline°ú °°Àº ¼öÁØÀº ¾Æ´Ï´Ù. ¿©·¯ºÐ Á¤½ÅÀÌ Á¶±Ý ÀÌ»óÇØÁ®¼­ ¿ÞÂÊ Shift Å°¸¦ ´©¸£¸é q ¹®ÀÚ°¡ ³ªÅ¸³ªµµ·Ï ¼³Á¤ÇÏ°í ½Í´Ù¸é Å°º¸µå µå¶óÀ̹ö°¡ °¡´ÉÇÏ°Ô ÇØÁØ´Ù. ´õ Áß¿äÇÑ °ÍÀº Å°º¸µå µå¶óÀ̹ö°¡ ÁöÁ¤ÇÑ ÄÜ¼Ö ±â´É°ú ÀÏÁ¤ÇÑ Å°½ºÆ®·ÎÅ©¸¦ ¿¬°áÇÑ´Ù. ±×·± Å°½ºÆ®·ÎÅ©°¡ tty µå¶óÀ̹ö·Î º¸³½ ´ÙÀ½ ReadlineÀ¸·Î º¸³»´Â ¾î¶² °Íµµ ¹ß»ýÇÏÁö ¾Ê´Â´Ù
    ¿¹¸¦ µé¾î µå¶óÀ̹ö´Â ÀϹÝÀûÀ¸·Î Alt-F1 Å°¸¦ ´­·¶À» ¶§ "ù ¹ø° °¡»ó ÄַܼΠÀüȯ"Çϵµ·Ï ¼³Á¤µÇ¾î Àִµ¥, ¿©·¯ºÐÀÌ Alt-F1À» ´­·¶À» ¶§ Napster ÇØÀûÆÇ À½¾Ç µð·ºÅ丮¸¦ »ðÀÔÇϵµ·Ï ReadlineÀ» ¼³Á¤ÇÏ·Á ÇÑ´Ù¸é, Çã¿ëÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.

    X ¾Æ·¡¿¡¼­ (¸»ÇÏÀÚ¸é hanterm â °°Àº) X ¼­¹ö ¼­ºê·çƾÀÌ ÀÚüÀûÀ¸·Î µå¶óÀ̹ö¸¦ °¡Áö¹Ç·Î ¸®´ª½º Å°º¸µå µð¹ÙÀ̽º µå¶óÀ̹ö´Â ´ëü·Î ¹«½ÃµÈ´Ù. ±×·¡¼­ Å°µéÀÌ ¹Ýµå½Ã ÀϹÝÀûÀÎ ¸®´ª½º °¡»óÄֿܼ¡¼­ ¿©·¯ºÐÀÌ º» Readline¿Í °°Àº ¹®ÀÚ ½ºÆ®¸²À» ¹ß»ý½ÃÅ°Áö´Â ¾Ê´Â´Ù.

 

´õ ¸¹Àº Á¤º¸

    ¿©·¯ºÐÀÌ Å°º¸µå ¸ÅÇο¡ ´ëÇÑ ´õ ³Ê¸¥ ¼¼»ó¿¡ Èï¹Ì°¡ ÀÖ´Ù¸é, Keyboard-And-Console HOWTO(http://www.linuxdoc.org/HOWTO/Keyboard-and-Console-HOWTO.html)¿Í Readline »ç¿ëÀÚ °¡À̵å, X¿¡ °üÇÑ ¹®¼­µéÀ» Àо´Ù.

    --------------------------------------------------------------
    Copyright ¨Ï 2000, Bryan Henderson
    Published in Issue 55 of Linux Gazette, July 2000
    --------------------------------------------------------------




¡ã top

homeÀ¸·Î...