基础术语:

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. LeetCode: Maximal Rectangle 解题报告

    Maximal RectangleGiven a 2D binary matrix filled with 0's and 1's, find the largest rectangle contai ...

  2. c++之——虚析构函数

    先看代码: #include<iostream> using namespace std; class Parent { public: Parent() :a(), b(), c() { ...

  3. 设置将Maven的jar包发布到lib

    2,设置将Maven的jar包发布到lib下. Add -> Java Build Path Entries -> Maven Dependencies -> Finish 设置完成 ...

  4. egret请求参数

    egret的文档还不错,不过http请求参数的文档居然没有,于是自己摸索了一下, 发现原来是直接传字符串参数就可以了.于是封装了一个类,方便使用. class RequestParam { publi ...

  5. jacky自问自答-java并发编程

    1.java Web中线程不是由tomcat这类web容器负责的吗?为什么还要我控制多线程? 答:这个问题很多初学者都会有的疑惑,举一个我以前做的一个需求,java作为中间平台,是socket服务端, ...

  6. echart 地图

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  7. log4j.properties的配置与详细说明

    1. 新建测试项目testLog,并引入jar包. 2. 在src目录下新建log4j.properties文件,然后开始配置文件. log4j.rootLogger=INFO,stdout,debu ...

  8. JAVA 监控工具 VisualVM 插件路径配置地址

    在使用VisualVM监控工具的时候,发现无法安装或者更新插件,或者报错,最后发现原来是插件中心的URL地址原装地址就不对.根据官方网站的地址配置后就正常了.下面的具体地址. VisualVMRele ...

  9. AJAX 实时读取输入文本(php)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. selenium测试(Java)--操作cookie(十七)

    package com.test.cookies; import org.openqa.selenium.Cookie; import org.openqa.selenium.JavascriptEx ...