¹ø¿ª: À±ºÀȯ / el@linuxlab.co.kr
|
|
µé¾î°¡¸ç ³ª´Â Ä¿¸Çµå ¶óÀÎ »ç³ªÀÌÀÌ´Ù. ¹°·Ð ³ªµµ ¿äÁò ¸®´ª½º ½Ã½ºÅÛ¿¡ ´ëÇØ ¸ð¸£´Â °Ç ¾Æ´Ï¾î¼, À©µµ »ç¿ëÀÚó·³ ¹«½ÄÇÑ Ã´ÇÏ°í ¸¶¿ì½º·Î Ŭ¸¯ Ŭ¸¯¸¸ ÇÒ ¼öµµ ÀÖ´Ù. ±×·¯³ª ³ª´Â ¸®´ª½º Äֿܼ¡¼ ³» ¹è½Ã ÇÁ·ÒÇÁÆ®¸¦(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
Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê´Â´Ù¸é ÀÌÁ¦ Å°½ºÆ®·ÎÅ©°¡ Readline ÀÌÀü ·¹ºíÀÇ ÀÎÅÍ·´Æ® ¶§¹®¿¡ ¿©·¯ºÐÀÌ ±â´ëÇÑ °Íó·³ µ¿ÀÛÇÏÁö ¾Ê´Â µî ¸î °¡Áö ¹®Á¦»óȲ¿¡ ´ëÇØ À̾߱âÇÏ·Á ÇÑ´Ù. ¿ì¼±, tty µð¹ÙÀ̽º µå¶óÀ̹ö°¡ (ÇöÀç Å°º¸µå µð¹ÙÀ̽º µå¶óÀ̹öº¸´Ù ¾Õ¼± ¼öÁØÀÇ µå¶óÀ̹öÀÌ´Ù) stty ÇÁ·Î±×·¥¿¡ ÀÇÇؼ Á¦¾îµÇ´Â Ư¼ö ¹®ÀÚ ¸î °³¸¦ Àå¾ÇÇÑ´Ù. ReadlineÀº ´ëºÎºÐÀÇ tty ÀÎÅÍÆäÀ̽º¸¦ ²ôÁö¸¸, Control-S, Control-Q, Control-C, Control-Z µî Å° ½ºÆ®·ÎÅ©´Â °áÄÚ °¡·Îç ¼ö ¾øÀ» °ÍÀÌ´Ù. tty µå¶óÀ̹ö°¡ °¡·Îä¾î¼ ¿ø·¡ Á¤ÇØÁø ´ë·Î µ¿ÀÛÇÏ°Ô ÇÑ´Ù. ´ÙÀ½Àº Å°º¸µå µå¶óÀ̹öÀÌ´Ù. Å°º¸µå µå¶óÀ̹ö´Â
¿©·¯ºÐ ¸¶À½´ë·Î ¸ðµç Å°¸¦ ´Ù·ê ¼ö ÀÖµµ·Ï ȯ°æÀ» Á¦°øÇϴµ¥ Readline°ú
°°Àº ¼öÁØÀº ¾Æ´Ï´Ù. ¿©·¯ºÐ Á¤½ÅÀÌ Á¶±Ý ÀÌ»óÇØÁ®¼ ¿ÞÂÊ Shift
Å°¸¦ ´©¸£¸é q ¹®ÀÚ°¡ ³ªÅ¸³ªµµ·Ï ¼³Á¤ÇÏ°í ½Í´Ù¸é Å°º¸µå µå¶óÀ̹ö°¡
°¡´ÉÇÏ°Ô ÇØÁØ´Ù. ´õ Áß¿äÇÑ °ÍÀº Å°º¸µå µå¶óÀ̹ö°¡ ÁöÁ¤ÇÑ ÄܼÖ
±â´É°ú ÀÏÁ¤ÇÑ Å°½ºÆ®·ÎÅ©¸¦ ¿¬°áÇÑ´Ù. ±×·± Å°½ºÆ®·ÎÅ©°¡ tty µå¶óÀ̹ö·Î
º¸³½ ´ÙÀ½ ReadlineÀ¸·Î º¸³»´Â ¾î¶² °Íµµ ¹ß»ýÇÏÁö ¾Ê´Â´Ù X ¾Æ·¡¿¡¼ (¸»ÇÏÀÚ¸é hanterm â °°Àº) X ¼¹ö ¼ºê·çƾÀÌ ÀÚüÀûÀ¸·Î µå¶óÀ̹ö¸¦ °¡Áö¹Ç·Î ¸®´ª½º Å°º¸µå µð¹ÙÀ̽º µå¶óÀ̹ö´Â ´ëü·Î ¹«½ÃµÈ´Ù. ±×·¡¼ Å°µéÀÌ ¹Ýµå½Ã ÀϹÝÀûÀÎ ¸®´ª½º °¡»óÄֿܼ¡¼ ¿©·¯ºÐÀÌ º» Readline¿Í °°Àº ¹®ÀÚ ½ºÆ®¸²À» ¹ß»ý½ÃÅ°Áö´Â ¾Ê´Â´Ù.
´õ ¸¹Àº Á¤º¸ ¿©·¯ºÐÀÌ Å°º¸µå ¸ÅÇο¡ ´ëÇÑ ´õ ³Ê¸¥ ¼¼»ó¿¡ Èï¹Ì°¡ ÀÖ´Ù¸é, Keyboard-And-Console HOWTO(http://www.linuxdoc.org/HOWTO/Keyboard-and-Console-HOWTO.html)¿Í Readline »ç¿ëÀÚ °¡À̵å, X¿¡ °üÇÑ ¹®¼µéÀ» Àо´Ù. -------------------------------------------------------------- |