本文原始地址:http://www.cnblogs.com/chinas/p/7094172.html,转载请注明出处,谢谢!!!

1、介绍

tmux(终端复用工具):一个很有趣的工具,类似GNU Screen,来自OpenBSD,采用BSD授权,整理一下自己的研究:

优点:(1)session恢复功能:类似screen,只要tmux没有停止运行,内部存在的会话能重新调起。

      应用场景举例:某些作业需要在关闭当前终端后在后台继续运行,甚至需要重新调到前台;

   (2)多窗口:每个session可开启多个不同的窗口,支持分屏、窗口切换等。

      应用场景举例:多窗口编辑,统一窗口下分屏,一半用于开发脚本,另一半用于调试程序;

2、安装与架构

(1)安装

  安装比较简单,源码或者软件包管理工具都可以:

# yum -y install tmux    ##CentOS 6.6 现在已经支持yum安装了

#!/bin/bash

#yum -y install libevent-devel ncurses-devel
wget http://downloads.sourceforge.net/tmux/tmux-1.6.tar.gz tar -zxvf tmux-1.6.tar.gz
cd tmux-1.6
./configure
make
make install

(2)架构

  安装tmux后,在终端输入tmux即可开启该应用,界面十分简单,类似一个下方带有状态栏的终端控制台。

  根据tmux的定义,在开启了tmux服务器后,会首先创建一个会话,而这个会话则会首先创建一个窗口,其中仅包含一个面板;也就是说,这里看到的所谓终端控制台应该称作tmux的一个面板,虽然其使用方法与终端控制台完全相同。

tmux使用C/S模型构建,主要包括以下单元模块:

server     服务(器),输入tmux命令时就开启了一个服务(器)。
session 会话,一个服务(器)可以包含多个会话;
window 窗口,一个会话可以包含多个窗口;每个窗口都是一个伪终端,会占据整个屏幕;
pane 面板,一个窗口可以分多个面板;

  架构示意如下:

具体,可参看下面的示意图:

3、使用

(1)启用与快捷键

# tmux     #进入tmux
# tmux attach-seesion -t 会话编号 #若未进入tmux,并已知会话名称,可以用此命令直接进入该会话
# tmux ls #进入tmux后,使用此命令查看已经存在的tmux session

进入tmux,后可使用一系列快捷键进行面板之间的切换等操作:

(2)常用快捷键

C-b c 创建一个新的窗口
C-b n 切换到下一个窗口
C-b p 切换到上一个窗口
C-b l 最后一个窗口,和上一个窗口的概念不一样哟,谁试谁知道
c-b w 通过上下键选择当前窗口中打开的会话 C-b 数字 直接跳到你按的数字所在的窗口
C-b & 退出当前窗口
C-b d 临时断开会话 断开以后,还可以连上的哟:)
C-b " 分割出来一个窗口 (横向)
C-b % 分割出来一个窗口 (纵向) C-b o 在小窗口中切换
C-b (方向键)
C-b ! 关闭所有小窗口
C-b x 关闭当前光标处的小窗口
C-b t 钟表
C-b pageup/pagedo

(3)快捷键列表

详细一些的参考这里:

(4)注意的问题

  连接远程机器时,终端工具(putty、xshell、crt等)字符集需设为UTF-8, 否则tmux的windows中pane的间隔线显示有问题;

  在修改tmux的conf后,需要重启tmux服务, 此时需要ctrl+c / : kill-server;

  在多个panes的时候拷贝粘贴是个问题,需要ctrl+c / [ 进入复制模式;

4、配置

  配置文件~/.tmux.conf默认是不存在的,需要用户手动创建。(貌似暂时不是很有用)

github上的官网提供了一份手册: OpenBSD manual pages http://man.openbsd.org/OpenBSD-current/man1/tmux.1,有需要深入了解的同学可以看看

参考:

使用tmux [FreeBSDChina Wiki]  https://wiki.freebsdchina.org/software/t/tmux (这个不错)

linux screen 命令详解 - David_Tang - 博客园  http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html

为什么使用tmux - iTech - 博客园  http://www.cnblogs.com/itech/archive/2012/12/17/2822170.html

Read The Tao of tmux | Leanpub https://leanpub.com/the-tao-of-tmux/read

CentOS下Tmux安装和使用 - jlins - 博客园  http://www.cnblogs.com/dyllove98/p/4096019.html

为什么使用tmux - iTech - 博客园 http://www.cnblogs.com/itech/archive/2012/12/17/2822170.html

本文原始链接:http://www.cnblogs.com/chinas/p/7094172.html,转载请注明出处,谢谢!!!

tmux终端工具的更多相关文章

  1. tmux终端工具的简单使用

    Linux上管理和运行进程除了程序级别的守护进程之外,经常用到的有比如nohup &的方式,以及screen会话的方式,而Tmux正是一个非常优秀的终端进程管理的软件,和GNU screen类 ...

  2. [Linux] tmux 终端复用命令行工具

    tmux 终端复用命令行工具 tmux 是一款终端复用命令行工具,通常用于 Terminal 的窗口管理.可以在终端软件重启后通过命令行恢复上次的 session. 安装运行 macOS 上使用 Ho ...

  3. tmux 终端复用详解

    tmux是什么 我们在linux服务器上的工作一般都是通过一个远程的终端连接软件连接到远端系统进行操作,例如使用xshell或者SecureCRT工具通过ssh进行远程连接.在使用过程中,如果要做比较 ...

  4. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  5. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

  6. 12款最佳Linux命令行终端工具

    12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件 ...

  7. Windows终端工具_MobaXterm

    前言 有人喜欢小而美的工具,有人喜欢大集成工具.这里推荐一款增强型的Windows终端工具MobaXterm,它提供所有重要的远程网络工具(SSH,X11,RDP,VNC,FTP,MOSH ..... ...

  8. Mac OS X 命令行用户应当知道的八个终端工具

    原文链接:Eight Terminal Utilities Every OS X Command Line User Should Know OS X  的Terminal 终端开辟了强大的UNIX实 ...

  9. 分享一个非常好用又好看的终端工具--Hyper (支持windows、MacOS、Linux)

    分享一个非常好用又好看的终端工具--Hyper 官网地址: https://hyper.is/ 打开官网,选择对应版本安装即可:(可能网络原因,无法下载, 可以从我分享的链接下载 链接: https: ...

随机推荐

  1. HBase 架构与工作原理1 - HBase 的数据模型

    本文系转载,如有侵权,请联系我:likui0913@gmail.com 一.应用场景 HBase 与 Google 的 BigTable 极为相似,可以说 HBase 就是根据 BigTable 设计 ...

  2. Linux限制cpu睿频&限制频率

    .关闭睿频 > /sys/devices/system/cpu/intel_pstate/no_turbo .限制CPU最大频率到50% " | sudo tee /sys/devic ...

  3. 【刷题】BZOJ 1969 [Ahoi2005]LANE 航线规划

    Description 对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系--一个巨大的由千百万星球构成的Samuel星系. 星际空间站的Samuel ...

  4. python之插入排序

    插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2).是稳定的排序方法.插入算法把要排序的数组分成两部 ...

  5. Docker Machine 和 Docker Engine 的区别

    Docker Engine 当人们提到 Docker,一般而言,大家说的是 Docker Engine,如下图:  它是一个 client-server application. Docker Eng ...

  6. BZOJ1061 [Noi2008]志愿者招募 【单纯形】

    题目链接 BZOJ1061 题解 今天终于用正宗的线性规划\(A\)了这道题 题目可以看做有\(N\)个限制和\(M\)个变量 变量\(x_i\)表示第\(i\)种志愿者的人数,对于第\(i\)种志愿 ...

  7. 毕业设计预习:SM3密码杂凑算法基础学习

    SM3密码杂凑算法基础学习 术语与定义 1 比特串bit string 由0和1组成的二进制数字序列. 2 大端big-endian 数据在内存中的一种表示格式,规定左边为高有效位,右边为低有效位.数 ...

  8. 【DP】【CF1097D】 Makoto and a Blackboard

    更好的阅读体验 Description 给定一个数 \(n\),对它进行 \(k\) 次操作,每次将当前的数改为自己的因数,包括 \(1\) 和自己.写出变成所有因数的概率是相等的.求 \(k\) 次 ...

  9. .net mvc 一个Action的 HttpGet 和 HttpPost

    http://www.cnblogs.com/freeliver54/p/3747836.html 本文转自:http://stackoverflow.com/questions/11767911/m ...

  10. Fibonacci数列时间复杂度之美妙

    Fibonacci数列: fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2) 上课老师出了一道题,求下列函数的时间复杂度: int fib(int d) { ) ; ...