前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tmux-初探

tmux-初探

作者头像
Cyylog
发布2020-08-19 10:34:03
1K0
发布2020-08-19 10:34:03
举报
文章被收录于专栏:Cyylog技术

Linux终端复用神器-tmux初探

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

废话不多说来个效果图

Tmux的使用场景

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

Tmux功能:

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

Tmux安装

代码语言:javascript
复制
yum -y install tmux

Tmux个性化配置

代码语言:javascript
复制
此类配置可以在命令行模式中输入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 使用介绍

代码语言:javascript
复制
运行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  [           //粘贴

需要注意的几点

代码语言:javascript
复制
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的常规运维命令

代码语言:javascript
复制
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)

​```

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux终端复用神器-tmux初探
  • Tmux的使用场景
  • Tmux功能:
  • Tmux安装
  • Tmux个性化配置
  • tmux session 使用介绍
  • 需要注意的几点
  • tmux的常规运维命令
  • Tmux的使用场景
  • Tmux功能:
  • Tmux个性化配置
  • tmux session 使用介绍
  • 需要注意的几点
  • tmux的常规运维命令
  • ​```
    • Linux终端复用神器-tmux初探
      • Tmux的使用场景
        • Tmux功能:
          • Tmux个性化配置
            • tmux session 使用介绍
              • 需要注意的几点
                • tmux的常规运维命令
                  • Linux终端复用神器-tmux初探
                    • Tmux的使用场景
                      • Tmux功能:
                        • Tmux个性化配置
                          • tmux session 使用介绍
                            • 需要注意的几点
                              • tmux的常规运维命令
                              相关产品与服务
                              数据库
                              云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档