基础术语:

sessions :会话,一个用户登录到主机,那么就建立了一个 session,如下图1,详细参考:https://my.oschina.net/u/158589/blog/360862
tmux session :在 session 中,我们可以创建多个 tmux session,效果相当于我们用 SecureCRT 打开多个 session,通常我们只打开一个就够了
注意 session 与 tmux session 的区别,我们只有先在 session 中打开一个 tmux session,才能在 tmux session 中创建多个 windows 和 panes
windows :在 session 中,我们可以通过 screen 命令创建多个屏幕,但在 tmux session 中,我们一般说可以创建多个窗口(windows)
Panes :在 tmux session 中,一个 windows 可以创建多个面板(Panes),或者说对一个 window 进行分屏,如下图2
tmux :一个分屏工具,它允许在一个 session 中创建多个 windows,在一个 windows 中创建多个 pages,即使 session 被关闭,windows 和 pages 也能在后台运行

tmux 命令:

[root@localhost ~]$ yum install -y tmux    # 安装 tmux
[root@localhost ~]$ tmux list-keys # 列出所有快捷键

tmux session 常用操作:

[root@localhost ~]$ tmux                           # 在当前 session 中创建并进入一个新的 tmux session
[root@localhost ~]$ tmux new -s session_name # 在当前 session 中创建并进入一个新的命名的 tmux session
[root@localhost ~]$ tmux switch -t session_name # 通过 session_name 切换到指定的 tmux session
[root@localhost ~]$ tmux list-sessions / tmux ls # 列出当前 session 中的所有 tmux session
[root@localhost ~]$ tmux detach # 离开当前开启的 tmux session
[root@localhost ~]$ tmux kill-server # 关闭所有 tmux session

tmux windows 常用操作:

[root@localhost ~]$ tmux                          # 需要先进入 tmux session 才能进行如下操作
[root@localhost ~]$ tmux new-window # 创建一个新的 window
[root@localhost ~]$ tmux list-windows # 查看所有的 window
[root@localhost ~]$ tmux select-window -t :0-9 # 根据索引跳转到指定的 window
[root@localhost ~]$ tmux rename-window xxx # 重命名当前 window

tmux panes 常用操作:

[root@localhost ~]$ tmux split-window           # 将当前 window 水平划分成两个 pane
[root@localhost ~]$ tmux split-window -h # 将当前 window 垂直划分成两个 pane
[root@localhost ~]$ tmux select-pane -[UDLR] # 切换到指定方向的 pane,分别表示:Up Down Left Right
[root@localhost ~]$ tmux swap-pane -[UDLR] # 交换指定方向的 pane,分别表示:Up Down Left Right

在上面的操作中,我们都是直接用命令,但更常用的是使用 tmux 的快捷键,在操作快捷键之前需要先按 Ctrl + B ,再按快捷键才会生效

tmux sessions 快捷键:

[root@localhost ~]$ tmux  # 需要先进入 tmux session 才能进行如下操作
? # 查看所有快捷键,按 q 返回
d # 离开当前的 tmux session,暂时返回 session shell 界面
d # 离开指定的 tmux session,暂时返回 session shell 界面
s # 选择并进入到指定的 tmux session
Ctrl + D # 退出当前 tmux session
Ctrl + Z # 挂起当前 tmux session

tmux windows 快捷键:

c       # 创建新的窗口
& # 关闭当前窗口
[0-9] # 切换到指定窗口
p # 切换至上一窗口
n # 切换至下一窗口
l # 前后窗口间互相切换
w # 通过窗口列表切换窗口
, # 重命名当前窗口
. # 修改当前窗口编号,相当于重新排序

tmux panes 快捷键:

"             # 将当前窗口上下分屏
% # 将当前窗口左右分屏
x # 关闭当前面板
! # 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板
ctrl+方向键 # 以1个单元格为单位移动边缘以调整当前面板大小
alt+方向键 # 以5个单元格为单位移动边缘以调整当前面板大小
q # 显示面板编号
o # 切换到当前面板中的下一个面板
方向键 # 移动到当前面板中的指定方向的面板
{ # 向前调换当前面板位置
} # 向后调换当前面板位置
z # 最大化当前所在面板,再按一次则还原

tmux 个性化配置:

[root@localhost ~]$ cat ~/.tmux.conf    # 自定义 tmux 配置文件
setw -g mode-mouse on # 开启window/pane里面的鼠标支持
setw -g mouse-resize-pane on # 开启支持用鼠标拖动调节pane的大小
setw -g mouse-select-pane on # 开启支持用鼠标点击pane来激活该pane

Linux tmux 工具的更多相关文章

  1. linux tmux 工具使用 tmux.conf 文件

    set -g prefix ^a unbind ^b bind a send-prefix unbind '"' bind - splitw -v unbind % bind \ split ...

  2. Linux性能工具介绍

    l  Linux性能工具介绍 p  CPU高 p  磁盘I/O p  网络 p  内存 p  应用程序跟踪 l  操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l  应用程序的性能问题/功能问 ...

  3. Linux 常用工具小结:(5) lftp工具使用

    Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...

  4. linux shell工具集合

    1)判断进程是否存在,如果不存在再执行启动命令,可以避免一个脚本同时启动多份 if [ $(ps -ef |grep  bastion_account.sh|grep -v grep|wc -l) - ...

  5. Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

  6. Linux命令工具基础04 磁盘管理

    Linux命令工具基础04 磁盘管理 日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩: 查看磁盘空间 查看磁盘空间利用大小 df -h -h: huma ...

  7. linux vi 工具的使用

    linux vi 工具的使用 1.打开文件 vi filename 如果存在该文件,则打开,不存在,则删除 2. 进入vi后,按i建,可以输入内容, 按ESC 在按: ,输入wq保存并退出. 3.移动 ...

  8. Linux/Unix工具与正则表达式的POSIX规范

    http://www.infoq.com/cn/news/2011/07/regular-expressions-6-POSIX 对正则表达式有基本了解的读者,一定不会陌生『\d』.『[a-z]+』之 ...

  9. Linux开发工具的使用

    1.   Linux开发工具的使用 Vim编译的使用 Gdb调试工具的使用 Makefile的编写 linux跟踪调试 SSH的使用 subversion的使用 1.   Linux开发工具的使用 V ...

随机推荐

  1. C#中一道关于多线程的编程题

    题目的意思是这样的:让两个线程A和B将自己的ID轮番写入一个文件中,每个线程重复十次写入后执行一个回调函数,说“I'm OK”,就这样.我是一名QA,不是开发,出于兴趣报考了公司的C#课程考试,多线程 ...

  2. C#中一道关于ADO.NET的基础练习题

    在控制台程序中实现以下功能: 1. 构建3个表(程序启动时自动建立)  (20分): 1) Employee 职工表 (工号.姓名.性别.年龄.部门)  (Num.Name.Sex.Age.Depar ...

  3. JavaScrip——练习(做悬浮框再进一步:悬浮窗后缀悬浮窗——用this.className)

    对悬浮窗进一步改进: 用this.className 可以省略script <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...

  4. IOS多线程之Block编程

    1 什么是block   iOS SDK 4.0開始,Apple引入了block这一特性.字面上说,block就是一个代码块.可是它的奇妙之处在于在内联(inline)运行的时候(这和C++非常像)还 ...

  5. 2016年第七届蓝桥杯C/C++程序设计本科B组省赛

    /* 2016年第七届蓝桥杯C/C++程序设计本科B组省赛 煤球数目(结果填空) 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形) ...

  6. Java 中的异常和处理详解

    Java 中的异常和处理详解 原文出处: 代码钢琴家 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误 ...

  7. 用CSS3实现文字描边效果【效果在这儿,创意在你!】

    CSS3作为新兴的前端技术可以实现很多复杂变化的效果,比如文字描边. 这里主要用到text-shadow属性,顾名思义就是为文字加上阴影效果.例: text-shadow:10px 5px 2px # ...

  8. 有2个表,结构相似,有一个字段关联,现在怎么把A表的数据添加到B表中,条件是A表不在B表的数据?? 请各位高手多多指点,是oracle的数据库

    : insert into b(col1,col2 )select col1,col2 where not exists(select a.col1 from a where a.col1 = b.c ...

  9. RBAC 基于角色的访问控制

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  10. Unity中的Transform Gizmo中的Pivot和Center

    选择中心(Center)意味着使用当前所选所有物体的共同轴心, 选择轴心(Pivot)意味着将使用各个物体的实际轴心 区别在于是否选中了多个物体或者有层级关系的物体. 第一张图是Center,中心在组 ...