一、简介与安装

  今天无意间从同事那里知道有 tmux 这种神器,tmux(terminal multiplexer)是Linux上的终端复用神器,可从一个屏幕上管理多个终端(准确说是伪终端)。使用该工具,用户可以连接或断开会话,而保持终端在后台运行。类似的工具还有screen,今天只介绍tmux相关操作。

  tmux的结构包括会话(session)、窗口(window)、窗格(pane)三部分,会话实质是伪终端的集合,每个窗格表示一个伪终端,多个窗格展现在一个屏幕上,这一屏幕就叫窗口。

  session(会话):一个服务器可以包含多个会话。

  window(窗口):一个会话可以包含多个窗口。

  pane(窗格):一个窗口可以包含多个面板[强悍的分屏]。

1、CenOs下安装tmux

  方式一(yum安装):

yum install tmux -y

  方式二(源码安装):

  源码方式安装有依赖,需要先安装libevent,且版本在2.0以上

# 安装libevent
wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
tar xzvf libevent-2.0.-stable.tar.gz
cd libevent-2.0.-stable
./configure
make && make install
# tmux安装
git clone https://github.com/tmux/tmux.git
cd tmux/
sh autogen.sh
./configure
make && make install

2、源码安装可能出现的问题

(1)问题一:

  期间可能会遇到执行autogen.sh 报错,原因是没有安装automake。这个直接yum install automake就简单解决了。

(2)问题二:

  执行的时候遇到如下报错:

libevent-2.0.so.: cannot open shared object file: No such file or directory

  解决方法:

ln -s /usr/local/lib/libevent-2.0.so. /usr/lib/libevent-2.0.so.     # 32位系统
ln -s /usr/local/lib/libevent-2.0.so. /usr/lib64/libevent-2.0.so. # 64位系统

二、基本操作

  基本的操作无非就是对会话、窗口、窗格进行管理,包括创建、关闭、重命名、连接、分离、选择等等。

  一般使用命令和快捷键进行操作,可在系统shell终端和tmux命令模式(类似vim的命令模式)下使用命令,或者在tmux终端使用快捷键。

  tmux默认的快捷键前缀是Ctrl+b(下文用prefix指代),按下前缀组合键后松开,再按下命令键进行快捷操作,比如使用prefix d分离会话(应该写作prefix d而不是prefix+d,因为d键不需要与prefix同时按下)。

1、会话管理

常用命令

tmux new                   创建默认名称的会话(在tmux命令模式使用new命令可实现同样的功能,其他命令同理,后文不再列出tmux终端命令)

tmux new -s mysession      创建名为mysession的会话

tmux new -s mysession -d    在后台建立名为mysession的会话

tmux ls                    显示会话列表

tmux a                     连接上一个会话

tmux a -t mysession        连接名为mysession的会话

tmux rename -t s1 s2       重命名会话s1为s2

tmux kill-session          关闭上次打开的会话

tmux kill-session -t s1    关闭会话s1

tmux kill-session -a -t s1  关闭除s1外的所有会话

tmux kill-server            关闭所有会话
常用快捷键

prefix s    列出会话,可进行切换

prefix $    重命名会话

prefix d    断开当前会话

prefix D    选择要脱离的会话,同时开启多个会话时使用

prefix t     显示当前时间,按 q/Esc 退出

prefix [     复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,按 q/Esc 退出

prefix ]     粘贴之前复制的内容,按 q/Esc 退出

2、窗口管理

prefix c    创建一个新窗口

prefix ,    重命名当前窗口

prefix w    列出所有窗口,可进行切换

prefix n    进入下一个窗口

prefix p    进入上一个窗口

prefix l    进入之前操作的窗口

prefix ~  选择编号0~9对应的窗口

prefix .    修改当前窗口索引编号

prefix '    切换至指定编号(可大于9)的窗口

prefix f    根据显示的内容搜索窗格

prefix &    关闭当前窗口

3、窗格管理

prefix %    水平方向创建窗格

prefix "    垂直方向创建窗格

prefix Up|Down|Left|Right  根据箭头方向切换窗格

prefix q    显示窗格编号

prefix o    顺时针切换窗格

prefix }    与下一个窗格交换位置

prefix {    与上一个窗格交换位置

prefix x    关闭当前窗格

prefix space(空格键)  重新排列当前窗口下的所有窗格

prefix !    将当前窗格置于新窗口

prefix Ctrl+o  逆时针旋转当前窗口的窗格

prefix t    在当前窗格显示时间

prefix z    放大当前窗格(再次按下将还原)

prefix i    显示当前窗格信息

4、其他命令

tmux list-key      列出所有绑定的键,等同于prefix ?

tmux list-command  列出所有命令

三、参考资料

  https://blog.51cto.com/svsky/1929509

  https://www.cnblogs.com/liuguanglin/p/9290345.html

  https://www.cnblogs.com/reboot51/p/9485911.html

tmux:终端复用神器的更多相关文章

  1. Tmux终端复用神器使用心得

    tmux在连接远程服务器做实验时很有帮助,可以为每一个项目设置一个Session,在Session中设置不同的Window同时跑多个实验,Window本身还可以分割为多个Pane,在一个视野内利用多个 ...

  2. [linux] tmux终端复用神器 [转载]

    转载https://www.cnblogs.com/kevingrace/p/6496899.html Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授 ...

  3. tmux终端复用神器简单使用

    创建命名Tmux会话(tmux new -s session_name)tmux new -s session_name chongchong 暂退Tmux会话(Ctrl + a d)直接关窗口 返回 ...

  4. (转载)Linux终端复用神器-Tmux使用

    Linux终端复用神器-Tmux使用 转载地址:https://blog.51cto.com/652465/2094738 Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于Open ...

  5. Linux终端复用神器-Tmux使用梳理

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

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

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

  7. tmux终端复用/tmate终端共享

    目录 tmux tmate tmux 一种终端复用工具,是终端中的窗口管理器.常见的一种用途是在关闭父shell时保持程序运行(常用于ssh访问断开连接后保持运行).linux上可通过包管理器进行安装 ...

  8. 优雅地使用命令行:Tmux 终端复用

    转自:http://harttle.com/2015/11/06/tmux-startup.html 你是否曾经开过一大堆的Terminal?有没有把它们都保存下来的冲动?Tmux 的Session就 ...

  9. tmux 终端复用详解

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

随机推荐

  1. opencv-python图像处理基础(一)

    #一.读取图像数据 import cv2 img=cv2.imread("d:/image0.JPG") #读取图片数据 print(img) cv2.imshow('image' ...

  2. mysql 查询指定数据库中的表明和字段名

    SELECT TABLE_NAME,COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_COMMENT LI ...

  3. mysql导出数据的几种形式-待更新

    1.导出某个数据库的某张表,添加where条件 mysqldump -u [用户名] -p  -h [ip地址]  --default-character-set=utf8 [数据库名] [表名] - ...

  4. web系统测试策略

    1.按系统架构可分为: 客户端测试.服务器端测试.网络上测试 2.按职能可分为: 应用功能的测试.web应用服务的测试.安全系统的测试.数据库服务的测试 3.按软件质量特性: (1)功能测试 链接测试 ...

  5. Java成员变量和局部变量区别

    成员变量和局部变量区别 变量根据定义位置的不同,我们给变量起了不同的名字.如下图所示: 区别 在类中的位置不同  (重点) 成员变量:类中,方法外 局部变量:方法中或者方法声明上(形式参数) 作用范围 ...

  6. css 两行、多行超出后用省略号...表示

    .item-name { letter-spacing: ; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -web ...

  7. 央行辟谣未发行“DC/EP”和“DCEP” 法定数字货币仍在测试阶段

    http://www.sohu.com/a/354709423_100157595 近期,中国央行再度就法定数字货币发布公告,指出目前系统仍处于研究测试过程中,市场上交易“DC/EP”或“DCEP”均 ...

  8. 基于Django的Rest Framework框架的解析器

    本文目录 一 解析器的作用 二 全局使用解析器 三 局部使用解析器 四 源码分析 回到目录 一 解析器的作用 根据请求头 content-type 选择对应的解析器对请求体内容进行处理. 有appli ...

  9. 四种PHP异步执行的常用方式

    本文为大家讲述了php异步调用方法,分享给大家供大家参考,具体内容如下 客户端与服务器端是通过HTTP协议进行连接通讯,客户端发起请求,服务器端接收到请求后执行处理,并返回处理结果. 有时服务器需要执 ...

  10. mysql8报错解析

    1. 场景描述 想把测试数据导一份到本地使用,乱入装了mysql8,使用springboot项目启动的时候报: java.sql.SQLException: The server time zone ...