linux下远程管理利器-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 创建一个新的窗口

      在你正后悔当前窗口被一个指令占用的时候,这个快捷键会解燃眉之急哟.当前窗口在任务栏会显示*

      如上图,现在正在操作的窗口就是3了

      C-b n 切换到下一个窗口

      C-b p 切换到上一个窗口

      C-b l 最后一个窗口,和上一个窗口的概念不一样哟,谁试谁知道

      c-b w 通过上下键选择当前窗口中打开的会话

      C-b 数字 直接跳到你按的数字所在的窗口

      c-b & 退出当前窗口(个人觉得这个没多大用,因为笔者习惯上c-d退出bash.当然了,如果你确保其它窗口没有有用的程序正在运行,试试这个命令也不错)

      C-b d 临时断开会话 断开以后,还可以连上的哟:)

      4.分割窗口

      vim中,可以直接:!命令,来执行命令,或者直接把命令的结果读到当前的编辑器.很多时候我们就是有这样一种需要,看一下上次的执行结果,而不想通过切换来实现.最初看到官方网站的图片可以,横着分,可以竖着分,挺酷的.不过到现在笔者也还不知道怎么紧着分:)

      c-b " 分割出来一个窗口

      c-b o 在小窗口中切换 这种方法一次只能切换一次,再想切换再c-b o,适合两个窗口的时候使用.如果在当前窗口分割了好多小窗口的话,就要用下面的两个指令了.

      c-b (方向键)上 上一个窗口

      c-b (方向键)下 下一个窗口  要指出的是,按一次c-b,可以上上下下的选,直到选到你想要的那个窗口,这点和c-b o不一样噢.

      c-b ! 关闭所有小窗口

      c-b x 关闭当前光标处的小窗口

      5.切换到其它的会话

      上面提到的都是窗口的概念,是在一个会话里建立多个窗口,在一个窗口里建立多个小窗口.而现在说是的会话的概念.你每次执行tmux就会新建一个会话,c-b d的时候就会保存退出一个会话.

      c-b s 选择attach的会话

      注意看哟,和上图显示的不一样

      6.修改当前窗口名称

      tmux允许你给不同的窗口指定不同的名字

      c-b , 修改当前窗口名称

      是不是将窗口的名字改成rainbird了?

      7.显示一个钟表

      其实简单的时候没啥大用处,就是一个屏保的作用,不过你可以通过设置配置文件,使从钟表退出来的时候要输入密码:)

      c-b t 钟表

      8.查看历史记录

      这个是困扰了笔者很长时间的一个功能,因为一些命令执行的时候,显示结果总会超过一屏,而笔者不知道怎么向上翻页以看到前面的东西,直到后来才不经意的发现是用:

      C-b pageup/pagedown

      退出的话,当然还是用q了

      9.复制粘贴:

      复制东西在使用GNOME Terminal的时候效果不大明显,因为你可以通过鼠标上下翻页,可以左键选择东西,右键复制或者粘贴.单把这一点拿出来,是为了说明一种猜测和一种高效的移动习惯.在看tmux帮助的时候,笔者注意到,有说按完c-b以后,通过[进入复制模式.但是进来以后呢?界面类似翻看以前的历史记录.研究的许久才这样整明白,如果要使用这个功能,你得知道c-b :可以进入tmux的命令模式,然后可以设置一些指令.比如说,修改模式键setw mode-keys vi.这样你就把当前模式改成了vi.再进入复制模式(c-b [)是不是可以通过j,k在字符里上下移动就像在vim里一样?

      通过看帮助,vi和emacs的模式对照表

           Function                vi          emacs

           Start of line           0 or ^      C-a

           Clear selection         Escape      C-g

           Copy selection          Enter       M-w

           Cursor down             j           Down

           End of line             $           C-e

           Cursor left             h           Left

           Next page               C-f         Page down

           Next word               w           M-f

           Previous page           C-u         Page up

           Previous word           b           M-b

           Quit mode               q           Escape

           Cursor right            l           Right

           Start selection         Space       C-Space

           Cursor up               k           Up

      你发现什么?我们之前上下翻页用的page up和page down,也可以用上下键.是不是说明了我们这前用的模式就是emacs呢?因为我们如果用ctrl+space选择东西的话,是永远不会成功呢,因为会被系统优先抢占,因为这两个键被定义到了切换输入法.所以,如果你想通过键盘用复制的功能的话,你最好先把模式改成vi,然后通过vi里支持的键选择.空格是选择的起点,然后上下或者左右移动选择到终点,回车,就把内容复制了.这样的一个好处就是你可以复制到不在当前屏幕里的东西!       

      10.常用参数

      最后说一下tmux本身常用的几个参数吧:)

      tmux ls 列出已有会话(list-sessions)

      tmux a连接到这前断开的会话(attach-session) 默认会连接上图列出的id最小的会话,你也可以指定你想连接到哪个会话:tmux a -t 1来连接到第一个会话

      tmux new创建新的会话(new-window) 当然了,不加这个参数也是会创建新会话的:)

      关于tmux的介绍到这里就结束了.tmux是个利器,而这个利器是不是也成为你手上的利刃取决于你花多少心思来运用它.以上的一些技巧,你只会一些基本的指令,就可以大大提高工作效率了,还等什么?赶快行动起来吧:)



版权及转载说明

本站原创、转载文章欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区

本站转载文章版权归原作者所有,如发现本站文章涉嫌侵权请点击「联系我们」反馈,本站将立即给予删除

转载请注明:文章转载自:全分享社区 「http://www.aweb.cc

本文转载自:http://rainbird.blog.51cto.com/211214/248701/

本文标题:linux下远程管理利器-tmux

本文地址:http://www.aweb.cc/article/detail/id/490.html

查看操作系统相关的命令的合集 <<上一篇 下一篇>>VIM文本替换命令