linux下远程管理利器-tmux

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是个利器,而这个利器是不是也成为你手上的利刃取决于你花多少心思来运用它.以上的一些技巧,你只会一些基本的指令,就可以大大提高工作效率了,还等什么?赶快行动起来吧:)

linux下远程管理利器-tmux的更多相关文章

  1. linux下的终端利器----tmux

    转:tmux 是指通过一个终端登录远程主机并运行后,在其中可以开启多个控制台的终端复用软件.类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远 ...

  2. linux下的终端利器 tmux 安装以及使用

    ref :https://www.jianshu.com/p/fd3bbdba9dc9 Introduction 为什么使用tmux? 因为如果我们用terminal连接remote server.发 ...

  3. Linux下批量管理工具pssh安装和使用

    Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...

  4. 3.Linux的远程管理及网络下载

    3.1 Linux的远程管理 3.1.1 远程管理概述 什么是远程管理: 1.为什么需要远程管理: 服务器通常是Linux系统,而服务器不可能一直在身边,所以就需要远程来操作服务器 企业中通常需要集群 ...

  5. linux 下用户管理

    linux 下用户管理 一.用户的分类 1.超级用户:root UID=0 2.系统用户:不需要登录系统,对应用程序服务,主要维护系统的正常运行:UID = 1 ~ 499(RHEL7 = 1 ~ 9 ...

  6. 【转】Linux下XenServer管理工具安装

    转载文章 - Linux下XenServer管理工具安装 Xen-Server 6.5 虚拟机安装Linux系统 vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化) ...

  7. Linux下远程备份、上传工程,重启服务器

    Linux下远程备份.上传工程,重启服务器 Linux服务器实现远程,原项目的备份.删除,新项目上传,以及远程重启服务器!分成一个主shell调用三个shell文件步骤完成.mainsh.sh一次按顺 ...

  8. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  9. 移植ARM linux下远程连接工具dropbear

    移植ARM linux下远程连接工具dropbear 原文地址:http://www.cnblogs.com/NickQ/p/9010529.html 移植zlib 下载地址:https://gith ...

随机推荐

  1. 中科燕园GIS外包---地铁GIS项目

    (1)地铁保护及project地质管理     • 地铁保护     地铁交通既有运量大,速度快的特点,又有差别于其它交通方式的在地下执行的空间特殊性,因此地铁的保护显得尤为重要. 首先必须编制完整的 ...

  2. UNIX网络编程 卷2:进程间通信

    这篇是计算机类的优质预售推荐>>>><UNIX网络编程 卷2:进程间通信(第2版)> UNIX和网络专家W. Richard Stevens的传世之作 编辑推荐 两 ...

  3. android的animator

    3.0 以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这 ...

  4. 另外一种方式装win2008r2

    装系统有很多方法,但是这种,我很少用. 注意第二个红圈处,是要启动的电话引导盘符.容易选择你的启动U盘,如果是后者,表现出的结果就是引导U盘不能引导,且安装的电脑也会显示ntdl丢失.当然,也可以解决 ...

  5. X窗口系统名词解释

    前端时间Gentoo的桌面环境出了点问题,发现自己对Linux的桌面环境了解的很少,于是恶补了一下知识,以下名词解释基本上都是来自维基百科的条目和<Linux程序设计(第三版)>.一般而言 ...

  6. ie6背景透明的设置方法 ie6背景颜色透明和png图像透明解决方法

    IE6浏览器,让我们又爱又恨.爱它的是,可以让我们写的代码的时候,可以更标准,恨的是,它有太多无厘头的IE6常见bug(详情点击),让我们焦头烂额.现在现在用百度浏览器调查,国内占有率不到6%了,但是 ...

  7. 【Unity 3D】使用 2DToolkit 插件 制作2D精灵动画

    话说博客传图也太麻烦了吧,一个一个文件一个一个传....为什么不能直接粘贴了,自动上传呢... 刚直接粘贴了,结果一张图没有,又重新截一次图,在传了一次...真是太**了 好了,吐槽完了,开始博客吧 ...

  8. 搭建Windows SVN服务器及TortoiseSVN使用帮助和下载

    搭建Windows SVN服务器: 用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行 ...

  9. [WCF]WCF起航

    解决方案概览: Client:windows 控制台应用程序. WcfService1: windows 服务应用程序. WCFWebTest:asp.net 空web应用程序. 变量程序命名.结构可 ...

  10. javascript iframe 视频解码

    function confirmVdo(){ var videoVal = $(".video_src").val(); if(videoVal){ videoVal = vide ...