ºìÁªLinuxÃÅ»§
Linux°ïÖú

Öն˻Ự¼à¿ØÈí¼þ Ttyutils

·¢²¼Ê±¼ä:2012-10-10 21:45:03À´Ô´:ºìÁª×÷Õß:empast
Ttyutils ÊÇÒ»Ì× UNIX/Linux Öն˻Ự¼à¿ØÈí¼þ¹¤¾ß°ü£¬Ò²ÊÇÒ»¸ö¿É¶¨ÖƺÍÀ©Õ¹µÄƽ̨¡£Í¨¹ý½¨Á¢Ò»¸öαÖÕ¶ËÀ´ÔËÐÐÒ»¸ö³ÌÐò£¬Ttyutils Äܹ»½Ø»ñ±»¼à¿Ø³ÌÐòÈ«²¿µÄÊä³öÊý¾Ý£¬ÒÔ¼°ÍêÕûµÄ¿ØÖƱ»¼à¿Ø³ÌÐòµÄ±ê×¼ÊäÈë¡£

Ôڽػñ³ÌÐòµÄÊä³öÊý¾ÝÖ®ºó£¬Ttyutils ¿ÉÒÔ½«ÕâЩÊý¾ÝÂ¼ÖÆµ½Ò»¸öѹËõºÍ¼ÓÃܵÄÎļþÖУ¬ºóÐø¿ÉÒÔͨ¹ýÒ»¸ö²¥·ÅÆ÷»Ø·ÅÀ´ÖØÏÖµ±Ê±µÄ»á»°£¬»òÕß½«ÕâЩÊý¾Ý·¢Ë͸øÍøÂçÉϵÄÒ»¸ö¼à¿Ø¿Í»§³ÌÐòÀ´´ïµ½ÊµÊ±Öն˻Ự¼à¿ØµÄÄ¿µÄ¡£Öն˻Ự²¥·ÅÆ÷¡¢ÊµÊ±¼à¿Ø³ÌÐòĬÈ϶¼°üº¬ÔÚ Ttyutils ÖУ¬²»ÓöîÍâ°²×°£¬Á¢¼´¿ÉÓá£

³ý´ËÖ®Í⣬Ttyutils ½«ÀûÓýػñµ½µÄÊý¾ÝÔÚÄÚ´æÖн¨Á¢Ò»¸öÐéÄâÖÕ¶Ë£¬Õâ¸öÖն˵ÄÄÚÈÝ×ÜÊǺÍÓû§ÔÚÆÁÄ»ÉÏ¿´µ½µÄÄÚÈݱ£³ÖÒ»Ö£¬ËüÀàËÆÓÚ xterm ÕâÑùµÄÖÕ¶Ë·ÂÕæÆ÷£¬µ«ÊÇÔÚÄÚ´æÖУ¬¶ÔÓû§²»¿É¼û¡£Óû§¿ÉÒÔͨ¹ýÔÚÕâ¸öÄÚ´æÖÕ¶Ë·ÂÕæÆ÷ÉÏÉèÖÃÆÁÄ»ÌØÕ÷Æ¥ÅäÌõ¼þÀ´´¥·¢¶¨ÖƵ͝×÷£¬ÀýÈçµ±ÆÁÄ»ÉϵÚÒ»ÐÐÖеÚÒ»Áе½µÚÊ®ÁеÄÄÚÈÝÆ¥ÅäÕýÔò±í´ïʽ '[0-9a-z].*' ʱ£¬·¢ËÍÒ»·âÓʼþµ½Ä³¸öÓÊÏ䣬»òÕßµ¯³öÒ»¸ö¶Ô»°¿ò£¬µÈµÈ¡£´¥·¢µÄ¶¯×÷ÊÇÓû§×Ô¼º±àдµÄÒ»¸ö³ÌÐò£¬Ëü¼¸ºõ¿ÉÒÔ¸ÉÈκÎËüϲ»¶µÄÊÂÇé¡£

ºÍ telnet£¬ssh µÈÈí¼þ²»Í¬£¬Ttyutils ²»ÄܰïÖúÄãµÇ½µ½Ô¶³ÌµÄÖ÷»ú£¬ËüÖ»ÄÜ¼à¿ØÒѾ­µÇ½µÄÖն˻Ự£¬Äú¿ÉÒÔ½« Ttyutils Àí½âΪÔËÐÐÔÚÖÕ¶ËÉϵÄÍâ¹ÒÈí¼þ°ü¡£Êµ¼ÊÉÏ£¬Ttyutils ÔÚÉè¼ÆÉϽ«Æä¶¨Î»Îª¶þ´Î¿ª·¢Æ½Ì¨£¬³ýÁË»ù´¡µÄÎļþÂ¼ÖÆ/²¥·Å¡¢ÊµÊ±¼à¿Ø¹¦ÄÜÖ®Í⣬ Ttyutils ÌṩµÄ¹¦Äܶ¼·þÎñÓÚ¶þ´Î¿ª·¢£¬Õâµ¼Ö Ttyutils µÄºÜ¶à¹¦ÄÜÄÑÓÚʹÓã¬È´ÎÞ±ÈÁé»î¡£ÎÒÃÇ×ÜÊÇÏ£Íû Ttyutils Äܹ»¸üºÃµÄÊÊÓ¦²»Í¬µÄÓ¦Óó¡ºÏ£¬ÊÂʵÉÏҲȷʵÈç´Ë£¬¿´ËÆÍêȫûÓиÉϵµÄÁ½¸öÓ¦Óã¬Æä»ù´¡Æ½Ì¨¶¼ÊDzÉÓà Ttyutils¡£Õâ¸öÌØµãÊÇ Ttyutils Éè¼ÆÉϵÄÒ»¸öÓëÖÚ²»Í¬Ö®´¦¡£

Ttyutils µÄÓ÷¨ÀàËÆÓÚ shell ÄÚÖÃÃüÁî `exec'£¬ËùÒÔ£¬Ttyutils Èí¼þ°üÖеÄÖ÷Òª³ÌÐòÃüÃûΪ ttyexec¡£

³õ´Î½Ó´¥ Ttyutils µÄÓû§¿ÉÄܶÔÉÏÃæµÄÃèÊö²»ÉõÀí½â£¬¿ÉÒÔ¿´¿´ÖÕ¶Ë¼à¿Ø½â¾ö·½°¸£¬Èç¹ûÄú¶Ô Ttyutils µÄÄÚ²¿Ô­ÀíºÃÆæ£¬¿ÉÒÔ¿´¿´¿¯µÇÔÚ IBM DeveloperWorks ÖйúÍøÕ¾ÉÏµÄ Ê¹Óà Ttyutils ½Ø»ñ UNIX/Linux ÖÕ¶Ë¡£

ÌØÕ÷

* ÄÚÖà vt102+xterm ¼æÈݵÄÐéÄâÖÕ¶Ë·ÂÕæ£¬Ö§³Ö×Ö·ûÊôÐÔ£¬É«²Ê£¬µÈµÈ£¬ÄÚ²¿±àÂëʹÓà Unicode£¬Ö§³Ö×Ö·û¼¯×ª»»¡£Ö§³Ö¹úÄÚ³£ÓõÄÖÕ¶Ë (°üÀ¨³¤³Ç¡¢Êµ´ï¡¢Ð´ó½¡¢Ïæ¼Æ) ¸¨´®¿ÚÖ¸ÁîÐòÁУ¬¿ÉÒÔͨ¹ý¼òµ¥µÄÀ©Õ¹ÅäÖÃÀ´Ö§³Ö¸ü¶à¡£
* Áé»îµÄÅäÖòÎÊýÔÊÐí¹ÜÀíÔ±¾«È·µÄ¿ØÖÆ ttyutils ¸÷¸ö·½ÃæµÄÐÐΪ¡£ÅäÖÃÎļþ×ÔÉíÊÇÒ»¸ö Lua ½Å±¾Îļþ¡£¶ÔÓÚ²»ÊìϤ Lua µÄ¹ÜÀíÔ±£¬¿ÉÒÔʹÓÃºÍ .ini Îļþ¸ñʽÀàËÆµÄÅäÖÃÎļþ(Õâ¸öÅäÖÃÎļþ×îÖÕÒ²ÊÇÓÉ Lua ÅäÖÃÎļþÖе÷ÓÃÒ»¸öº¯ÊýÀ´½âÎö)¡£
* Ttyutils µÄ¾ø´ó¶àÊý´úÂëʹÓô¿ C ÓïÑÔ±àд£¬ËüÓ¦¸Ã¾ßÓв»´íµÄÐÔÄܺͿÉÒÆÖ²ÐÔ¡£
* ǶÈëÁË Lua ½âÊÍÆ÷µÄ×îа汾£¬Óû§Äܹ»Óà Lua ÓïÑÔÀ´¶¨ÖƺÍÀ©Õ¹ Ttyutils£¬µ±È»£¬C ÓïÑÔ×ÜÊÇ¿ÉÓõ쬵«ÊǶÔÓÚͨ³£µÄÈÎÎñ£¬Ê¹Óà Lua ÓïÑÔ»áÈÃÊÂÇé¸ü¼Ó¼òµ¥£¬¿ìËÙ£¬Ò²¸üÎȶ¨¡£
* Ttyutils RPC (Ô¶³Ì¹ý³Ìµ÷ÓÃ) ЭÒéÔÊÐí¹ÜÀíÔ±ÔÚÔ¶³Ì¹ÜÀí Ttyuils£¬»òÕßÔÊÐíµÚÈý·½Ó¦ÓóÌÐò·ÃÎÊ Ttyutls ÌṩµÄ·þÎñ¡£Ttyutils ΪRPC ЭÒé½øÐÐÁË·â×°£¬ÌṩÁËÒ»×é API ½Ó¿Ú£¬¿ª·¢ÈËԱʹÓ÷â×°ºóµÄ½Ó¿Úʱ²»ÓÃÀí»áЭÒéµÄϸ½Ú£¬»ù±¾ API ÊÇ C ÓïÑÔ½Ó¿Ú£¬µ«Ò²ÌṩÁË Lua ºÍ Python ÓïÑԵĽӿڡ£
* »ùÓÚ²å¼þµÄÌåϵÈÃÀ©Õ¹Ð¹¦Äܸü¼Ó·½±ãÈÝÒ×£¬¿ÉÒÔ¸ù¾Ý¾ßÌåµÄÓ¦Óó¡ºÏÑ¡ÔñʹÓûò½ûÓÃÌØ¶¨µÄ²å¼þ£¬°²×°Ð²å¼þ²»ÐèÒªÉý¼¶ÏÖÓеÄϵͳ¡£¿ÉÒÔʹÓà C ºÍ Python ÓïÑÔÀ´¿ª·¢Ð²å¼þ¡£
* ¹¦ÄÜÇ¿´óµÄ¹ÜÀí¿ØÖÆÌ¨ÔÊÐí¹ÜÀíÔ±·½±ãµÄ´ÓÔ¶³Ì¹ÜÀí Ttyutils£¬¹ÜÀí¿ØÖÆÌ¨Ö§³Ö Lua ½Å±¾£¬¿ÉÒÔ½«³£ÓõÄÈÎÎñ±£´æµ½ÎļþÖУ¬¶ø²»ÓÃÿ´Î¶¼ÖØÐÂÊäÈë¡£
* ÖÐÐÄ·þÎñÆ÷¿ÉÒÔ¹ÜÀíÔËÐÐÔÚһ̨»òÕß¶ą̀Ö÷»úÉϵĶà¸ö¼à¿Ø³ÌÐòʵÀý£¬µ±È»£¬Ò²¿ÉÒÔÔÚûÓÐÖÐÐÄ·þÎñÆ÷µÄÇé¿öÏÂÔËÐÐ¼à¿Ø³ÌÐò£¬Ö»ÊÇȱ·¦Á˹ÜÀíÄÜÁ¦¡£
* ʼþ´¥·¢»úÖÆÔÊÐíÓû§¾«È·µÄ¿ØÖÆÖն˻Ự£¬Ê¼þ´¥·¢Ìõ¼þ¿ÉÒÔÆ¥ÅäÈȼü£¬µ±Ç°¹â±êλÖã¬ÒÔ¼°ÓÃÕýÔò±í´ïʽȥƥÅ䵱ǰÆÁÄ»ÄÚÈÝ¡£Ê¼þ¶¯×÷¿ÉÒÔʹÓà C£¬C++£¬ÒÔ¼° Ttyutils RPC ЭÒéÖ§³ÖµÄ°î¶¨ÓïÑÔ±àд¡£ÒòΪ RPC ЭÒéÌṩÓÐ C ÓïÑÔ½Ó¿Ú£¬Óû§Èç¹ûÒª°î¶¨µ½ÐµÄÓïÑÔÒ²²»»áÓÐÌ«´óÀ§ÄÑ¡£
* ¿ÉÒÔ½«³ÌÐòµÄÊä³öÊý¾ÝÂ¼ÖÆµ½Ò»¸ö¼ÓÃܺÍѹËõµÄÎļþÖС£ÌṩÓÐ GUI °æ±¾µÄ²¥·ÅÆ÷ÓÃÀ´²¥·Å Ttyutils Â¼ÖÆµÄÎļþ¡£GUI ²¥·ÅÆ÷¿ÉÒÔÔÚÖ÷Á÷µÄ UNIX/Linux ƽ̨ÉÏÔËÐУ¬Ò²¿ÉÒÔÔÚ Windows ƽ̨ÉÏÔËÐС£µ±È»£¬Ttyutils Ò²ÌṩÁËÔÚÖÕ¶ËÖÐÔËÐеIJ¥·ÅÆ÷¡£
* ÄÚÖüàÊÓ·þÎñÆ÷£¬¿Í»§¶ËÄܹ»Á¬½Óµ½Õâ¸ö·þÎñÆ÷À´ÊµÊ±µÄ²é¿´³ÌÐòµÄÊä³ö¡£ÌṩÓÐ GUI °æ±¾µÄ¼àÊÓÆ÷ÓÃÀ´Á¬½Ó Ttyutils ¼àÊÓ·þÎñÆ÷À´ÊµÊ±²é¿´³ÌÐòµÄÊä³ö£¬GUI ¼àÊÓÆ÷¿ÉÒÔÔÚÁ÷ÐÐµÄ UNIX/Linux ƽ̨ÉÏÔËÐУ¬Ò²¿ÉÒÔÔÚ Windows ƽ̨ÉÏÔËÐС£µ±È»£¬Ttyutils Ò²ÌṩÁËÔÚÖÕ¶ËÖÐÔËÐеļàÊÓÆ÷¡£
* Ttyutils »ù´¡¿âÌṩÁ˷ḻµÄ¹¦ÄÜ£¬ API ½Ó¿ÚÇåÎú£¬Óû§¿ÉÒÔÀûÓà Ttyutils ¿âÌṩµÄ¹¦ÄÜÀ´ÊµÏÖ¸÷ÖÖÖÕ¶Ë¼à¿ØÏà¹ØµÄÓ¦ÓóÌÐò¡£Ttyutils µÄ¸¨Öú¹¤¾ß°ü¾ÍÊÇÀûÓà Ttyutils ¿âʵÏֵĸ÷ÖÖ¹¦ÄÜרһµÄÓ¦ÓóÌÐò£¬°üÀ¨ÎļþÂ¼ÖÆ¹¤¾ß£¬²¥·Å¹¤¾ß£¬µÈµÈ¡£
* ¿ÉÒÔÔںܶà UNIX/Linux ƽ̨ÉÏʹÓ㬲»ÐèÒª¶Ôϵͳ½øÐÐÌØÊâµÄÐ޸ĻòÅäÖá£×ñÑ­±ê×¼£¬¿ÉÒÔºÍÆäËü±ê×¼¼æÈݵÄÈí¼þЭ×÷¡£
* Ö§³Ö¹ú¼Ê»¯£¬Ttyutils »á¸ù¾Ýϵͳµ±Ç°µÄÓïÑÔ»·¾³×Ô¶¯Ñ¡ÔñÏàÓ¦µÄÓïÑÔ£¬Ä¿Ç°Ö§³ÖÖÐÎĺÍÓ¢ÎÄ£¬¿ÉÒÔͨ¹ý·­ÒëÒ»¸ö¶ÀÁ¢µÄÎļþÀ´Ö§³Ö¸ü¶àµÄÓïÑÔ¡£µ± Ttyutils ÔËÐÐÔÚ²»Ö§³ÖµÄÓïÑÔ»·¾³Ê±£¬½«Ê¹ÓÃÓ¢Óï¡£
* ÐèÒªÉÙÁ¿µÄ´ÅÅ̿ռäÀ´°²×°£¬ÐèÒªÉÙÁ¿µÄÄÚ´æÀ´ÔËÐС£Ttyutils ÔËÐÐʱÐèÒª OpenSSL£¬ZLib£¬GLib µÄÖ§³Ö£¬Í¨³£ËüÃÇÊÇϵͳµÄ±ê×¼ÅäÖá£
* ±È½ÏÏêϸµÄÎĵµ£¬ÔÚ±¾Õ¾µã¿ÉÒÔÕÒµ½¹ØÓÚ Ttyutils ¸÷·½ÃæµÄ×ÊÁÏ¡£
* »ùÓÚ MIT ÊÚȨЭÒé·¢²¼£¬¿ÉÒÔÔÚ¿ª·ÅÔ´´úÂëÏîÄ¿ÖÐʹÓã¬Ò²¿ÉÒÔÔÚÉÌÒµºÍ·â±ÕÔ´´úÂëÏîÄ¿ÖÐʹÓá£Ttyutils ÄÚ²¿Ê¹ÓÃÁË OpenSSL£¬ZLib£¬GLib ºÍ Lua À´ÊµÏÖÒ»Ð©ÌØ¶¨µÄ¹¦ÄÜ£¬ËüÃǵÄÊÚȨºÍ Ttyutils ÊÚȨЭÒéûÓгåÍ»¡£

ÊÊÓÃÐÔ

Ttyutils Ö÷ÒªÓÃÓÚÒÔ UNIX/Linux ÖÕ¶Ë×÷ΪÓû§½Ó¿ÚµÄ»·¾³£¬Õâ°üÀ¨£º

* ʵʱ¼à¿Ø Telnet£¬SSH£¬¿ØÖÆÌ¨£¬ºÍÖÕ¶Ë·ÂÕæÉϵĻỰ
* ÖÕ¶Ë»á»°Â¼ÖÆºÍ»Ø·Å£¬¿ÉÓÃÓÚ½Ìѧ£¬½»Á÷¾­Ñ飬׷×ÙÔðÈÎ
* ÖÕ¶ËÈÎÎñ×Ô¶¯»¯£¬¿ÉÓÃÓÚ×Ô¶¯»¯ÈÕ³£ÏµÍ³¹ÜÀí£¬Èí¼þ×Ô¶¯²âÊÔ
* ÀûÓÃʼþ´¥·¢»úÖÆ½áºÏ±àдʼþ³ÌÐòÀ´À©Õ¹ÏÖÓгÌÐòµÄÄÜÁ¦
* ...

Ttyutils ÔÚʵÏÖÉÏÊÇСÇɵġ¢Îȶ¨µÄ¡£Êµ¼ùÖ¤Ã÷£¬Óû§ÔÚһ̨ Linux »òÕß AIX Ö÷»úÉÏÔËÐгɰÙÉÏǧ¸ö½ø³Ì£¬Á¬Ðø¹¤×÷°ëÄêÒÔÉϲ»»á³öÏÖÈκÎÎÊÌâ¡£Ttyutils ·Ç³£¿ì£¬Óû§ÔÚ±»¼à¿ØµÄÖÕ¶ËÉϲÙ×÷ʱ¸Ð¾õ²»µ½ÈκÎÃ÷ÏÔµÄÑÓ³Ù¡£

Ö÷Ò³£ºhttp://sourceforge.net/projects/ttyutils/

ÏÂÔØ£ºhttp://sourceforge.net/projects/ttyutils/files/

À´×Ô:¿ªÔ´ÖйúÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ