linux下远程管理利器-tmux
2009-12-24 21:22:15
标签:vi vs emacs screen tmux
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://rainbird.blog.51cto.com/211214/248701
在上一节<<linux下远程管理利器-ssh>>中,笔者有提到:上一节所讲的功能都是参照<<linux远程管理的屠龙刀>>里的功能来讲的.笔者想收回这句话,因为有替SecureCRT打广告之嫌.其实吧,这些功能无论我们使用哪种软件都是会遇到的问题.我们都要在那个软件上解决这些问题,只是碰巧上次是在使用SecureCRT的时候遇到的罢了.在使用无论哪种软件远程管理linux的时候,我们总会遇到一个靠那个软件本身所不能解决的问题:由于网络不稳定造成的连接中断!之前笔者也有遇到过,但是由于笔者的网络环境还好,所以算不上什么大问题.之前当遇到要长时间运行的指令的时候,笔者也会习惯上用screen来运行,然后退出会话.当ssh命令没有标签的概念的时候,笔者迫不及待的希望有一种解决方式解决这种问题.虽然笔者用的是GNOME Terminal它有标签的概念,而且通过自定义的快捷键启动GNOME Terminal和通过GNOME Terminal的快捷键ctrl+shift+T创建一个新标签是件很快捷的事儿.但是创建完了不是还要再输入登陆的指令嘛.如果有更简单高效的方式解决这个问题,你愿不愿意尝试呢?我愿意!
在搜索screen的相关资料的时候,一个和screen类似功能的新秀进入笔者的眼帘:tmux!对于笔者来说,两个软件都是要重新学习才能充分运用,所以在学习成本上不存在差别.而且笔者最看中的是tmux有"窗口"的概念,可以很方便的创建新的窗口和在窗口中切换.虽然screen在修改配置文件以后,也可以实现这个功能,但是!但是要修改配置文件!如果后面有N多机器的情况下,虽然批量修改也花费不了多少时间,但始终是一种损耗.在使用tmux的过程中,笔者认真学习了tmux内置的快捷键.笔者认为,这样的快捷键定义还是比较科学的,另外使用内置的快捷键而不是自定义的好处就是,你不用到每台机器上以后都重新定义你的习惯.
其实本篇就是tmux的入门级介绍啦,当然是偏快捷键.因为现在tmux的资料还是少之又少.为了知道其实一些有用的功能点,笔者也是破费心机.能够看到这篇关于tmux详细介绍的中文资料,相信你已经对tmux已经有一定的了解了.还是提一句:tmux是一个远程管理多窗口的工具,它可以允许你在一次登陆的情况下打开多个会话并方便的在会话中切换,而且软件本身就可以解决网络不稳定造成的断网问题哟.ok,进入本次的奇妙之旅:
1.控制键
控制键就是tmux的主键.当你在tmux环境下按下这个键的时候,tmux就会把你后面输入的指令,解析成它内置的功能.tmux默认的控制键是ctrl+b(同时按下ctrl和b,在后面将直接用小写的c-b代替).这相当于screen的ctrl+a.同时用过两个工具的人总会争论ctrl+a和ctrl+b的合理性.估计争论的也就是emacs和vi党.我就很不理解.这两拨人只用编辑器,不用指令吗?因为他们似乎不知道在bash环境里:ctrl+a代表跳到命令的开始,而ctrl+b代表往回移动一格.从这一点讲,笔者觉得用c-b没啥不好的.因为你按着c-b不放,在bash环境里的功能依然有效:)
2.获取快捷键帮助
前面没有提,在这里要指出的一点就是,当你按c-b的时候,我希望你已经进入"tmux环境"了.进入的方法很简单.直接在命令行输入:tmux就可以了.没有的话,安装呗.幸运的是ubuntu9.10里已经集成了tmux.虽然不是最新版,但是免去了编译的麻烦:)现在按C-b ?
接下来要介绍的东西,就是这里面列出来的,一些普遍有用的东东.查看上面或者下面的内容,直接pageup,pagedown就可以了:)退出请按q(这个百试不爽,几乎是和tmux交互的时候,都可以用这个退出)
3.常用快捷键
c-b c 创建一个新的窗口
在你正后悔当前窗口被一个指令占用的时候,这个快捷键会解燃眉之急哟.当前窗口在任务栏会显示*