|
µé¾î°¡¸ç
³ª´Â Ä¿¸Çµå ¶óÀÎ »ç³ªÀÌÀÌ´Ù. ¹°·Ð ³ªµµ ¿äÁò
¸®´ª½º ½Ã½ºÅÛ¿¡ ´ëÇØ ¸ð¸£´Â °Ç ¾Æ´Ï¾î¼, À©µµ »ç¿ëÀÚó·³ ¹«½ÄÇÑ
ôÇÏ°í ¸¶¿ì½º·Î Ŭ¸¯ Ŭ¸¯¸¸ ÇÒ ¼öµµ ÀÖ´Ù. ±×·¯³ª ³ª´Â ¸®´ª½º
Äֿܼ¡¼ ³» ¹è½Ã ÇÁ·ÒÇÁÆ®¸¦(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¶ó´Â ¹®ÀÚµéÀÌ ¿©·¯ºÐÀÇ ¸í·É ¶óÀÎ ¹öÆÛ¿¡ ³ªÅ¸³¯ °ÍÀÌ´Ù(±×·¯´Ï±î
¸í·É ÇÁ·ÒÇÁÆ® µÚ¿¡) ±× ´ÙÀ½ ¿£Å͸¦ ´©¸£¸é 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 ۸¦ Áö¿ì°í ¾Æ·¡Ã³·³ °íÃÄ ³Ö´Â´Ù:
·Î±×¾Æ¿ôÇÏ°í ´Ù½Ã ·Î±×ÀÎÇÏ´Â ´ë½Å Á»´õ ¼¼·ÃµÈ
¹æ¹ýÀ» »ç¿ëÇÏ·Á ÇÑ´Ù¸é 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 ¸í·ÉÀ»
º¸°Ô µÉ °ÍÀÌ´Ù.
ÀÌ°Ô ½ÇÁ¦·Î ÇÊ¿äÇÑ ÀüºÎÀÌ´Ù. ¿øÇÏ´Â ¾î¶² ¸í·ÉÀ̵çÁö,
±×¸®°í ¿©·¯ºÐÀÌ ¿øÇϴ Ű°¡ ¹«¾ùÀ̵çÁö ¸¶À½´ë·Î Á¶ÇÕÇÒ ¼ö ÀÖ´Ù.
¿©·¯ºÐÀÇ FŰ¿Í ´º¸Þ¸¯ ŰÆÐµå ½ÃÄö½º ¿¬°áÀ» ¾Ë¾Æ³»±â À§ÇØ Àοë-»ðÀÔ
Å×Å©´ÐÀ» »ç¿ëÇÑ´Ù. ÀÌ ¶§ ´º¸Þ¸¯ ŰÆÐµå´Â ¸ðµå¿¡ ÁÖÀÇÇÑ´Ù. ´º¸Þ¸¯
ŰÆÐµå´Â Åä±Û»óÅ¿¡ µû¶ó ÀüÇô ´Ù¸¥ ½ÃÄö½º¸¦ Àü¼ÛÇÑ´Ù.
Alt, Control°ú Á¶ÇյǴ Ű¸¦ À§ÇØ C-x¿Í M-x¸¦
~/.inputrc ÆÄÀÏ ¾È¿¡¼ »ç¿ëÇÑ´Ù ( MÀº MetaÀÇ ¾àÀÚ·Î Alt ۸¦
³ªÅ¸³½´Ù)
¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡¼ Info ¹®¼¿¡ ¸µÅ©µÇ¾î ÀÖ´Â
"Readline User's Guide"¸¦ º¸¸é ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
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
--------------------------------------------------------------
|