tmux-初探

时间:2022-07-23
本文章向大家介绍tmux-初探,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Linux终端复用神器-tmux初探

Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机。是BSD实现的Screen替代品,相对于Screen,它更加先进:支持屏幕切分,而且具备丰富的命令行参数,使其可以灵活、动态的进行各种布局和操作。

废话不多说来个效果图

Tmux的使用场景

1)可以某个程序在执行时一直是输出状态,需要结合nohup、&来放在后台执行,并且ctrl+c结束。这时可以打开一个Tmux窗口,在该窗口里执行这个程序,用来保证该程序一直在执行中,只要Tmux这个窗口不关闭
2)公司需要备份数据库时,数据量巨大,备份两三天弄不完,这时不小心关闭了终端窗口或误操作就前功尽弃了,使用Tmux会话运行命令或任务,就不用担心这些问题。
3)下班后,你需要断开ssh或关闭电脑,将运行的命令或任务放置后台运行。
4)关闭终端,再次打开时原终端里面的任务进程依然不会中断

Tmux功能:

-  提供了强劲的、易于使用的命令行界面。
-  可横向和纵向分割窗口。
-  窗格可以自由移动和调整大小,或直接利用四个预设布局之一。
-  支持 UTF-8 编码及 256 色终端。
-  可在多个缓冲区进行复制和粘贴。
-  可通过交互式菜单来选择窗口、会话及客户端。
-  支持跨窗口搜索。
-  支持自动及手动锁定窗口。

Tmux安装

yum -y install tmux

Tmux个性化配置

此类配置可以在命令行模式中输入show-options -g查询

tmux加上下列参数,实现个性化设置
set-option -g base-index 1                        # 窗口的初始序号;默认为0,这里设置为1
set-option -g display-time 5000                   # 提示信息的持续时间;设置足够的时间以避免看不清提示,单位为毫秒
set-option -g repeat-time 1000                    # 控制台激活后的持续时间;设置合适的时间以避免每次操作都要先激活控制台,单位为毫秒
set-option -g status-keys vi                      # 操作状态栏时的默认键盘布局;可以设置为vi或emacs
set-option -g status-utf8 on                      # 开启状态栏的UTF-8支持

---
set-option -g status-bg blue
set-option -g status-fg '#bbbbbb'
set-option -g status-left-fg green
set-option -g status-left-bg blue
set-option -g status-right-fg green
set-option -g status-right-bg blue
set-option -g status-left-length 10               # 状态栏左方的内容长度;
set-option -g status-right-length 15              # 状态栏右方的内容长度;建议把更多的空间留给状态栏左方(用于列出当前窗口)
set-option -g status-left '[#(whoami)]'           # 状态栏左方的内容
set-option -g status-right '[#(date +" %m-%d %H:%M ")]'     # 状态栏右方的内容;这里的设置将得到类似23:59的显示
set-option -g status-justify "centre"             # 窗口列表居中显示
set-option -g default-terminal "screen-256color"  # 支持256色显示
分割窗口边界的颜色
set-option -g pane-active-border-fg '#55ff55'
set-option -g pane-border-fg '#555555'

---
此类设置可以在命令行模式中输入show-window-options -g查询
set-window-option -g mode-keys vi    # 复制模式中的默认键盘布局;可以设置为vi或emacs
set-window-option -g utf8 on         # 开启窗口的UTF-8支持
set-window-option -g mode-mouse on   # 窗口切换后让人可以用鼠标上下滑动显示历史输出

---
窗口切分快捷键(没设置成功)
bind  split-window -h                      # 使用  将窗口竖切
bind - split-window -v                      # 使用 - 将窗口横切
bind K confirm-before -p "kill-window #W? (y/n)" kill-window    # 使用大写 K 来关闭窗口
bind '"' choose-window                      # 双引号选择窗口

---
Pane之间切换的快捷键
bind h select-pane -L                       # 定位到左边窗口的快捷键
bind j select-pane -D                       # 定位到上边窗口的快捷键
bind k select-pane -U                       # 定位到下方窗口的快捷键
bind l select-pane -R                       # 定位到右边窗口的快捷键

---
设置window属性
setw -g window-status-current-bg red
setw -g window-status-current-fg white
setw -g window-status-current-attr bright
setw -g window-status-attr bright
set-option -g window-status-format '#I #W'
set-option -g window-status-current-format ' #I #W '
setw -g window-status-current-bg blue
setw -g window-status-current-fg green
不使用prefix键,使用Ctrl和左右方向键方便切换窗口
bind-key -n "C-Left" select-window -t :-
bind-key -n "C-Right" select-window -t :+

tmux session 使用介绍

运行tmux并开启一个新的会话
tmux

显示所有会话
tmux ls

新建会话并指定会话名称(建议制定会话名称,以便了解该会话用途)
tmux new -s <session-name>

新建会话(不指定会话名称)
tmux new

接入上一个会话
tmux a

接入指定名称的会话
tmux a -t <session-name>

断开当前会话(还可以使用快捷键:control+b,再按d)
tmux detach

关闭指定会话
tmux kill-session -t session-name

关闭除指定会话外的所有会话
tmux kill-session -a -t session-name

在会话中切换
control+b,再按s 显示会话列表,再进行会话切换

销毁所有会话并停止tmux
tmux kill-serverG

复制粘贴
Ctrl+b   [          //进入复制模式
空格+方向键      //选择
回车                  //  确认
Ctrl+b  [           //粘贴

需要注意的几点

1)进入tmux面板后,一定要先按ctrl+b,然后松开,再按其他的组合键才生效。
 
2)常用到的几个组合键:
ctrl+b ?            显示快捷键帮助
ctrl+b 空格键       采用下一个内置布局,这个很有意思,在多屏时,用这个就会将多有屏幕竖着展示
ctrl+b !            把当前窗口变为新窗口
ctrl+b  "           模向分隔窗口
ctrl+b %            纵向分隔窗口
ctrl+b q            显示分隔窗口的编号
ctrl+b o            跳到下一个分隔窗口。多屏之间的切换
ctrl+b 上下键      上一个及下一个分隔窗口
ctrl+b C-方向键    调整分隔窗口大小
ctrl+b &           确认后退出当前tmux
ctrl+b [           复制模式,即将当前屏幕移到上一个的位置上,其他所有窗口都向前移动一个。
ctrl+b c           创建新窗口
ctrl+b n           选择下一个窗口
ctrl+b l           最后使用的窗口
ctrl+b p           选择前一个窗口
ctrl+b w           以菜单方式显示及选择窗口
ctrl+b s           以菜单方式显示和选择会话。这个常用到,可以选择进入哪个tmux
ctrl+b t           显示时钟。然后按enter键后就会恢复到shell终端状态
ctrl+b d           脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话

tmux的常规运维命令

1)安装命令: 
[root@---
title: tmux-初探
date: 2018-12-07 13:59:25
tags:
  - tmux
  - 骚操作
---

### Linux终端复用神器-tmux初探
​

Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机。是BSD实现的Screen替代品,相对于Screen,它更加先进:支持屏幕切分,而且具备丰富的命令行参数,使其可以灵活、动态的进行各种布局和操作。 ​``` 废话不多说来个效果图

Tmux的使用场景

1)可以某个程序在执行时一直是输出状态,需要结合nohup、&来放在后台执行,并且ctrl+c结束。这时可以打开一个Tmux窗口,在该窗口里执行这个程序,用来保证该程序一直在执行中,只要Tmux这个窗口不关闭 2)公司需要备份数据库时,数据量巨大,备份两三天弄不完,这时不小心关闭了终端窗口或误操作就前功尽弃了,使用Tmux会话运行命令或任务,就不用担心这些问题。 3)下班后,你需要断开ssh或关闭电脑,将运行的命令或任务放置后台运行。 4)关闭终端,再次打开时原终端里面的任务进程依然不会中断 ​

Tmux功能:

​```

  • 提供了强劲的、易于使用的命令行界面。
  • 可横向和纵向分割窗口。
  • 窗格可以自由移动和调整大小,或直接利用四个预设布局之一。
  • 支持 UTF-8 编码及 256 色终端。
  • 可在多个缓冲区进行复制和粘贴。
  • 可通过交互式菜单来选择窗口、会话及客户端。
  • 支持跨窗口搜索。
  • 支持自动及手动锁定窗口。 ​```Tmux安装 ​yum -y install tmux ​

Tmux个性化配置

​``` 此类配置可以在命令行模式中输入show-options -g查询

tmux加上下列参数,实现个性化设置 set-option -g base-index 1 # 窗口的初始序号;默认为0,这里设置为1 set-option -g display-time 5000 # 提示信息的持续时间;设置足够的时间以避免看不清提示,单位为毫秒 set-option -g repeat-time 1000 # 控制台激活后的持续时间;设置合适的时间以避免每次操作都要先激活控制台,单位为毫秒 set-option -g status-keys vi # 操作状态栏时的默认键盘布局;可以设置为vi或emacs set-option -g status-utf8 on # 开启状态栏的UTF-8支持


set-option -g status-bg blue set-option -g status-fg ‘#bbbbbb’ set-option -g status-left-fg green set-option -g status-left-bg blue set-option -g status-right-fg green set-option -g status-right-bg blue set-option -g status-left-length 10 # 状态栏左方的内容长度; set-option -g status-right-length 15 # 状态栏右方的内容长度;建议把更多的空间留给状态栏左方(用于列出当前窗口) set-option -g status-left ‘[#(whoami)]’ # 状态栏左方的内容 set-option -g status-right ‘[#(date +” %m-%d %H:%M “)]’ # 状态栏右方的内容;这里的设置将得到类似23:59的显示 set-option -g status-justify “centre” # 窗口列表居中显示 set-option -g default-terminal “screen-256color” # 支持256色显示 分割窗口边界的颜色 set-option -g pane-active-border-fg ‘#55ff55’ set-option -g pane-border-fg ‘#555555’


此类设置可以在命令行模式中输入show-window-options -g查询 set-window-option -g mode-keys vi # 复制模式中的默认键盘布局;可以设置为vi或emacs set-window-option -g utf8 on # 开启窗口的UTF-8支持 set-window-option -g mode-mouse on # 窗口切换后让人可以用鼠标上下滑动显示历史输出


窗口切分快捷键(没设置成功) bind split-window -h # 使用 将窗口竖切 bind - split-window -v # 使用 - 将窗口横切 bind K confirm-before -p “kill-window #W? (y/n)” kill-window # 使用大写 K 来关闭窗口 bind ‘“‘ choose-window # 双引号选择窗口


Pane之间切换的快捷键 bind h select-pane -L # 定位到左边窗口的快捷键 bind j select-pane -D # 定位到上边窗口的快捷键 bind k select-pane -U # 定位到下方窗口的快捷键 bind l select-pane -R # 定位到右边窗口的快捷键


设置window属性 setw -g window-status-current-bg red setw -g window-status-current-fg white setw -g window-status-current-attr bright setw -g window-status-attr bright set-option -g window-status-format ‘#I #W’ set-option -g window-status-current-format ‘ #I #W ‘ setw -g window-status-current-bg blue setw -g window-status-current-fg green 不使用prefix键,使用Ctrl和左右方向键方便切换窗口 bind-key -n “C-Left” select-window -t :- bind-key -n “C-Right” select-window -t :+ ​```

tmux session 使用介绍

​``` 运行tmux并开启一个新的会话 tmux

显示所有会话 tmux ls

新建会话并指定会话名称(建议制定会话名称,以便了解该会话用途) tmux new -s

新建会话(不指定会话名称) tmux new

接入上一个会话 tmux a

接入指定名称的会话 tmux a -t

断开当前会话(还可以使用快捷键:control+b,再按d) tmux detach

关闭指定会话 tmux kill-session -t session-name

关闭除指定会话外的所有会话 tmux kill-session -a -t session-name

在会话中切换 control+b,再按s 显示会话列表,再进行会话切换

销毁所有会话并停止tmux tmux kill-serverG

复制粘贴 Ctrl+b [ //进入复制模式 空格+方向键 //选择 回车 // 确认 Ctrl+b [ //粘贴

​```

需要注意的几点

​``` 1)进入tmux面板后,一定要先按ctrl+b,然后松开,再按其他的组合键才生效。

2)常用到的几个组合键: ctrl+b ? 显示快捷键帮助 ctrl+b 空格键 采用下一个内置布局,这个很有意思,在多屏时,用这个就会将多有屏幕竖着展示 ctrl+b ! 把当前窗口变为新窗口 ctrl+b “ 模向分隔窗口 ctrl+b % 纵向分隔窗口 ctrl+b q 显示分隔窗口的编号 ctrl+b o 跳到下一个分隔窗口。多屏之间的切换 ctrl+b 上下键 上一个及下一个分隔窗口 ctrl+b C-方向键 调整分隔窗口大小 ctrl+b & 确认后退出当前tmux ctrl+b [ 复制模式,即将当前屏幕移到上一个的位置上,其他所有窗口都向前移动一个。 ctrl+b c 创建新窗口 ctrl+b n 选择下一个窗口 ctrl+b l 最后使用的窗口 ctrl+b p 选择前一个窗口 ctrl+b w 以菜单方式显示及选择窗口 ctrl+b s 以菜单方式显示和选择会话。这个常用到,可以选择进入哪个tmux ctrl+b t 显示时钟。然后按enter键后就会恢复到shell终端状态 ctrl+b d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 ​```

tmux的常规运维命令

​``` 1)安装命令:  [root@Centos6 ~]# yum -y install tmux 2)默认创建一个会话,以数字命名。(不推荐) [root@Centos6 ~]# tmux 3)新建会话,比如新创建一个会话以”ccc”命名 [root@Centos6 ~]# tmux new -s ccc

加上参数-d,表示在后台新建会话 root@bobo:# tmux new -s shibo -d root@bobo:# tmux ls shibo: 1 windows (created Tue Oct 2 19:22:32 2018) [135x35]

4)查看创建得所有会话 [root@Centos6 ~]# tmux ls 0: 1 windows (created Wed Aug 30 17:58:20 2017) 112x22 #这里的attached表示该会话是当前会话 aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22] ccc: 1 windows (created Wed Aug 30 17:01:05 2017) [112x22]

5)登录一个已知会话。即从终端环境进入会话。 第一个参数a也可以写成attach。后面的aaa是会话名称。 [root@Centos6 ~]# tmux a -t aaa 6)退出会话不是关闭: 登到某一个会话后,依次按键ctrl-b + d,这样就会退化该会话,但不会关闭会话。 如果直接ctrl + d,就会在退出会话的通话也关闭了该会话!

7)关闭会话(销毁会话) [root@Centos6 ~]# tmux ls aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22] bbb: 1 windows (created Wed Aug 30 19:02:09 2017) [112x22]

[root@Centos6 ~]# tmux kill-session -t bbb

[root@Centos6 ~]# tmux ls aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22]

8)重命名会话 [root@Centos6 ~]# tmux ls wangshibo: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)

[root@Centos6 ~]# tmux rename -t wangshibo kevin

[root@Centos6 ~]# tmux ls kevin: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)

​```

title: tmux-初探 date: 2018-12-07 13:59:25 tags:

  • tmux
  • 骚操作

Linux终端复用神器-tmux初探

Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机。是BSD实现的Screen替代品,相对于Screen,它更加先进:支持屏幕切分,而且具备丰富的命令行参数,使其可以灵活、动态的进行各种布局和操作。 ​ 废话不多说来个效果图

Tmux的使用场景

1)可以某个程序在执行时一直是输出状态,需要结合nohup、&来放在后台执行,并且ctrl+c结束。这时可以打开一个Tmux窗口,在该窗口里执行这个程序,用来保证该程序一直在执行中,只要Tmux这个窗口不关闭 2)公司需要备份数据库时,数据量巨大,备份两三天弄不完,这时不小心关闭了终端窗口或误操作就前功尽弃了,使用Tmux会话运行命令或任务,就不用担心这些问题。 3)下班后,你需要断开ssh或关闭电脑,将运行的命令或任务放置后台运行。 4)关闭终端,再次打开时原终端里面的任务进程依然不会中断 ​

Tmux功能:

​```

  • 提供了强劲的、易于使用的命令行界面。
  • 可横向和纵向分割窗口。
  • 窗格可以自由移动和调整大小,或直接利用四个预设布局之一。
  • 支持 UTF-8 编码及 256 色终端。
  • 可在多个缓冲区进行复制和粘贴。
  • 可通过交互式菜单来选择窗口、会话及客户端。
  • 支持跨窗口搜索。
  • 支持自动及手动锁定窗口。 ​```Tmux安装 ​yum -y install tmux ​

Tmux个性化配置

​``` 此类配置可以在命令行模式中输入show-options -g查询

tmux加上下列参数,实现个性化设置 set-option -g base-index 1 # 窗口的初始序号;默认为0,这里设置为1 set-option -g display-time 5000 # 提示信息的持续时间;设置足够的时间以避免看不清提示,单位为毫秒 set-option -g repeat-time 1000 # 控制台激活后的持续时间;设置合适的时间以避免每次操作都要先激活控制台,单位为毫秒 set-option -g status-keys vi # 操作状态栏时的默认键盘布局;可以设置为vi或emacs set-option -g status-utf8 on # 开启状态栏的UTF-8支持


set-option -g status-bg blue set-option -g status-fg ‘#bbbbbb’ set-option -g status-left-fg green set-option -g status-left-bg blue set-option -g status-right-fg green set-option -g status-right-bg blue set-option -g status-left-length 10 # 状态栏左方的内容长度; set-option -g status-right-length 15 # 状态栏右方的内容长度;建议把更多的空间留给状态栏左方(用于列出当前窗口) set-option -g status-left ‘[#(whoami)]’ # 状态栏左方的内容 set-option -g status-right ‘[#(date +” %m-%d %H:%M “)]’ # 状态栏右方的内容;这里的设置将得到类似23:59的显示 set-option -g status-justify “centre” # 窗口列表居中显示 set-option -g default-terminal “screen-256color” # 支持256色显示 分割窗口边界的颜色 set-option -g pane-active-border-fg ‘#55ff55’ set-option -g pane-border-fg ‘#555555’


此类设置可以在命令行模式中输入show-window-options -g查询 set-window-option -g mode-keys vi # 复制模式中的默认键盘布局;可以设置为vi或emacs set-window-option -g utf8 on # 开启窗口的UTF-8支持 set-window-option -g mode-mouse on # 窗口切换后让人可以用鼠标上下滑动显示历史输出


窗口切分快捷键(没设置成功) bind split-window -h # 使用 将窗口竖切 bind - split-window -v # 使用 - 将窗口横切 bind K confirm-before -p “kill-window #W? (y/n)” kill-window # 使用大写 K 来关闭窗口 bind ‘“‘ choose-window # 双引号选择窗口


Pane之间切换的快捷键 bind h select-pane -L # 定位到左边窗口的快捷键 bind j select-pane -D # 定位到上边窗口的快捷键 bind k select-pane -U # 定位到下方窗口的快捷键 bind l select-pane -R # 定位到右边窗口的快捷键


设置window属性 setw -g window-status-current-bg red setw -g window-status-current-fg white setw -g window-status-current-attr bright setw -g window-status-attr bright set-option -g window-status-format ‘#I #W’ set-option -g window-status-current-format ‘ #I #W ‘ setw -g window-status-current-bg blue setw -g window-status-current-fg green 不使用prefix键,使用Ctrl和左右方向键方便切换窗口 bind-key -n “C-Left” select-window -t :- bind-key -n “C-Right” select-window -t :+ ​```

tmux session 使用介绍

​``` 运行tmux并开启一个新的会话 tmux

显示所有会话 tmux ls

新建会话并指定会话名称(建议制定会话名称,以便了解该会话用途) tmux new -s

新建会话(不指定会话名称) tmux new

接入上一个会话 tmux a

接入指定名称的会话 tmux a -t

断开当前会话(还可以使用快捷键:control+b,再按d) tmux detach

关闭指定会话 tmux kill-session -t session-name

关闭除指定会话外的所有会话 tmux kill-session -a -t session-name

在会话中切换 control+b,再按s 显示会话列表,再进行会话切换

销毁所有会话并停止tmux tmux kill-serverG

复制粘贴 Ctrl+b [ //进入复制模式 空格+方向键 //选择 回车 // 确认 Ctrl+b [ //粘贴

​```

需要注意的几点

​``` 1)进入tmux面板后,一定要先按ctrl+b,然后松开,再按其他的组合键才生效。

2)常用到的几个组合键: ctrl+b ? 显示快捷键帮助 ctrl+b 空格键 采用下一个内置布局,这个很有意思,在多屏时,用这个就会将多有屏幕竖着展示 ctrl+b ! 把当前窗口变为新窗口 ctrl+b “ 模向分隔窗口 ctrl+b % 纵向分隔窗口 ctrl+b q 显示分隔窗口的编号 ctrl+b o 跳到下一个分隔窗口。多屏之间的切换 ctrl+b 上下键 上一个及下一个分隔窗口 ctrl+b C-方向键 调整分隔窗口大小 ctrl+b & 确认后退出当前tmux ctrl+b [ 复制模式,即将当前屏幕移到上一个的位置上,其他所有窗口都向前移动一个。 ctrl+b c 创建新窗口 ctrl+b n 选择下一个窗口 ctrl+b l 最后使用的窗口 ctrl+b p 选择前一个窗口 ctrl+b w 以菜单方式显示及选择窗口 ctrl+b s 以菜单方式显示和选择会话。这个常用到,可以选择进入哪个tmux ctrl+b t 显示时钟。然后按enter键后就会恢复到shell终端状态 ctrl+b d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 ​```

tmux的常规运维命令

​``` 1)安装命令:  [root@— title: tmux-初探 date: 2018-12-07 13:59:25 tags:

  • tmux
  • 骚操作

Linux终端复用神器-tmux初探

Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机。是BSD实现的Screen替代品,相对于Screen,它更加先进:支持屏幕切分,而且具备丰富的命令行参数,使其可以灵活、动态的进行各种布局和操作。 ​ 废话不多说来个效果图

Tmux的使用场景

1)可以某个程序在执行时一直是输出状态,需要结合nohup、&来放在后台执行,并且ctrl+c结束。这时可以打开一个Tmux窗口,在该窗口里执行这个程序,用来保证该程序一直在执行中,只要Tmux这个窗口不关闭 2)公司需要备份数据库时,数据量巨大,备份两三天弄不完,这时不小心关闭了终端窗口或误操作就前功尽弃了,使用Tmux会话运行命令或任务,就不用担心这些问题。 3)下班后,你需要断开ssh或关闭电脑,将运行的命令或任务放置后台运行。 4)关闭终端,再次打开时原终端里面的任务进程依然不会中断 ​

Tmux功能:

​```

  • 提供了强劲的、易于使用的命令行界面。
  • 可横向和纵向分割窗口。
  • 窗格可以自由移动和调整大小,或直接利用四个预设布局之一。
  • 支持 UTF-8 编码及 256 色终端。
  • 可在多个缓冲区进行复制和粘贴。
  • 可通过交互式菜单来选择窗口、会话及客户端。
  • 支持跨窗口搜索。
  • 支持自动及手动锁定窗口。 ​```Tmux安装 ​yum -y install tmux ​

Tmux个性化配置

​``` 此类配置可以在命令行模式中输入show-options -g查询

tmux加上下列参数,实现个性化设置 set-option -g base-index 1 # 窗口的初始序号;默认为0,这里设置为1 set-option -g display-time 5000 # 提示信息的持续时间;设置足够的时间以避免看不清提示,单位为毫秒 set-option -g repeat-time 1000 # 控制台激活后的持续时间;设置合适的时间以避免每次操作都要先激活控制台,单位为毫秒 set-option -g status-keys vi # 操作状态栏时的默认键盘布局;可以设置为vi或emacs set-option -g status-utf8 on # 开启状态栏的UTF-8支持


set-option -g status-bg blue set-option -g status-fg ‘#bbbbbb’ set-option -g status-left-fg green set-option -g status-left-bg blue set-option -g status-right-fg green set-option -g status-right-bg blue set-option -g status-left-length 10 # 状态栏左方的内容长度; set-option -g status-right-length 15 # 状态栏右方的内容长度;建议把更多的空间留给状态栏左方(用于列出当前窗口) set-option -g status-left ‘[#(whoami)]’ # 状态栏左方的内容 set-option -g status-right ‘[#(date +” %m-%d %H:%M “)]’ # 状态栏右方的内容;这里的设置将得到类似23:59的显示 set-option -g status-justify “centre” # 窗口列表居中显示 set-option -g default-terminal “screen-256color” # 支持256色显示 分割窗口边界的颜色 set-option -g pane-active-border-fg ‘#55ff55’ set-option -g pane-border-fg ‘#555555’


此类设置可以在命令行模式中输入show-window-options -g查询 set-window-option -g mode-keys vi # 复制模式中的默认键盘布局;可以设置为vi或emacs set-window-option -g utf8 on # 开启窗口的UTF-8支持 set-window-option -g mode-mouse on # 窗口切换后让人可以用鼠标上下滑动显示历史输出


窗口切分快捷键(没设置成功) bind split-window -h # 使用 将窗口竖切 bind - split-window -v # 使用 - 将窗口横切 bind K confirm-before -p “kill-window #W? (y/n)” kill-window # 使用大写 K 来关闭窗口 bind ‘“‘ choose-window # 双引号选择窗口


Pane之间切换的快捷键 bind h select-pane -L # 定位到左边窗口的快捷键 bind j select-pane -D # 定位到上边窗口的快捷键 bind k select-pane -U # 定位到下方窗口的快捷键 bind l select-pane -R # 定位到右边窗口的快捷键


设置window属性 setw -g window-status-current-bg red setw -g window-status-current-fg white setw -g window-status-current-attr bright setw -g window-status-attr bright set-option -g window-status-format ‘#I #W’ set-option -g window-status-current-format ‘ #I #W ‘ setw -g window-status-current-bg blue setw -g window-status-current-fg green 不使用prefix键,使用Ctrl和左右方向键方便切换窗口 bind-key -n “C-Left” select-window -t :- bind-key -n “C-Right” select-window -t :+ ​```

tmux session 使用介绍

​``` 运行tmux并开启一个新的会话 tmux

显示所有会话 tmux ls

新建会话并指定会话名称(建议制定会话名称,以便了解该会话用途) tmux new -s

新建会话(不指定会话名称) tmux new

接入上一个会话 tmux a

接入指定名称的会话 tmux a -t

断开当前会话(还可以使用快捷键:control+b,再按d) tmux detach

关闭指定会话 tmux kill-session -t session-name

关闭除指定会话外的所有会话 tmux kill-session -a -t session-name

在会话中切换 control+b,再按s 显示会话列表,再进行会话切换

销毁所有会话并停止tmux tmux kill-serverG

复制粘贴 Ctrl+b [ //进入复制模式 空格+方向键 //选择 回车 // 确认 Ctrl+b [ //粘贴

​```

需要注意的几点

​``` 1)进入tmux面板后,一定要先按ctrl+b,然后松开,再按其他的组合键才生效。

2)常用到的几个组合键: ctrl+b ? 显示快捷键帮助 ctrl+b 空格键 采用下一个内置布局,这个很有意思,在多屏时,用这个就会将多有屏幕竖着展示 ctrl+b ! 把当前窗口变为新窗口 ctrl+b “ 模向分隔窗口 ctrl+b % 纵向分隔窗口 ctrl+b q 显示分隔窗口的编号 ctrl+b o 跳到下一个分隔窗口。多屏之间的切换 ctrl+b 上下键 上一个及下一个分隔窗口 ctrl+b C-方向键 调整分隔窗口大小 ctrl+b & 确认后退出当前tmux ctrl+b [ 复制模式,即将当前屏幕移到上一个的位置上,其他所有窗口都向前移动一个。 ctrl+b c 创建新窗口 ctrl+b n 选择下一个窗口 ctrl+b l 最后使用的窗口 ctrl+b p 选择前一个窗口 ctrl+b w 以菜单方式显示及选择窗口 ctrl+b s 以菜单方式显示和选择会话。这个常用到,可以选择进入哪个tmux ctrl+b t 显示时钟。然后按enter键后就会恢复到shell终端状态 ctrl+b d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 ​```

tmux的常规运维命令

​``` 1)安装命令:  [root@1000phone ~]# yum -y install tmux 2)默认创建一个会话,以数字命名。(不推荐) [root@1000phone ~]# tmux 3)新建会话,比如新创建一个会话以”ccc”命名 [root@1000phone ~]# tmux new -s ccc

加上参数-d,表示在后台新建会话 root@1000phone:# tmux new -s 1000phone -d root@1000phone:# tmux ls 1000phone: 1 windows (created Tue Oct 2 19:22:32 2018) [135x35]

4)查看创建得所有会话 [root@1000phone ~]# tmux ls 0: 1 windows (created Wed Aug 30 17:58:20 2017) 112x22 #这里的attached表示该会话是当前会话 1000phone: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22] ccc: 1 windows (created Wed Aug 30 17:01:05 2017) [112x22]

5)登录一个已知会话。即从终端环境进入会话。 第一个参数a也可以写成attach。后面的aaa是会话名称。 [root@1000phone ~]# tmux a -t 1000phone 6)退出会话不是关闭: 登到某一个会话后,依次按键ctrl-b + d,这样就会退化该会话,但不会关闭会话。 如果直接ctrl + d,就会在退出会话的通话也关闭了该会话!

7)关闭会话(销毁会话) [root@1000phone ~]# tmux ls 1000phone: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22] bbb: 1 windows (created Wed Aug 30 19:02:09 2017) [112x22]

[root@1000phone ~]# tmux kill-session -t bbb

[root@1000phone ~]# tmux ls 1000phone: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22]

8)重命名会话 [root@1000phone ~]# tmux ls tigerfive: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)

[root@1000phone ~]# tmux rename -t tigerfive 1000phone

[root@Centos6 ~]# tmux ls 1000phone: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)

​``` ~]# yum -y install tmux 2)默认创建一个会话,以数字命名。(不推荐) [root@1000phone ~]# tmux 3)新建会话,比如新创建一个会话以”ccc”命名 [root@1000phone ~]# tmux new -s ccc

加上参数-d,表示在后台新建会话 root@1000phone:# tmux new -s 1000phone -d root@1000phone:# tmux ls 1000phone: 1 windows (created Tue Oct 2 19:22:32 2018) [135x35]

4)查看创建得所有会话 [root@1000phone ~]# tmux ls 0: 1 windows (created Wed Aug 30 17:58:20 2017) 112x22 #这里的attached表示该会话是当前会话 aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22] ccc: 1 windows (created Wed Aug 30 17:01:05 2017) [112x22]

5)登录一个已知会话。即从终端环境进入会话。 第一个参数a也可以写成attach。后面的aaa是会话名称。 [root@1000phone ~]# tmux a -t aaa 6)退出会话不是关闭: 登到某一个会话后,依次按键ctrl-b + d,这样就会退化该会话,但不会关闭会话。 如果直接ctrl + d,就会在退出会话的通话也关闭了该会话!

7)关闭会话(销毁会话) [root@1000phone ~]# tmux ls aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22] bbb: 1 windows (created Wed Aug 30 19:02:09 2017) [112x22]

[root@1000phone ~]# tmux kill-session -t bbb

[root@1000phone ~]# tmux ls aaa: 2 windows (created Wed Aug 30 16:54:33 2017) [112x22]

8)重命名会话 [root@1000phone ~]# tmux ls wangshibo: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)

[root@1000phone ~]# tmux rename -t wangshibo kevin

[root@1000phone ~]# tmux ls kevin: 1 windows (created Sun Sep 30 10:17:00 2018) [136x29] (attached)

​```