tmux是一个在终端下开起多个会话,并且这些会话能支持后台运行(类似screen方式)。不同与screen的地方是,他还支持在一个会话中创建多个窗口,每个窗口还支持多个窗格分屏布局,这些功能就有点强了。
实验运行环境:Anlois OS V8.6
实验前安装: yum install -y tmux
1. 创建一个会话
要开始一个新的 tmux 会话,可以简单地在命令行中输入 tmux:
[root@znl.pub ~]# tmux
创建一个会话,并且以当前是第“几”个创建的会话(创建顺序索引)来命名当前会话。
2. 创建一个命名会话
[root@znl.pub ~]# tmux new -s he
new :不能省略的关键词,字面意思
-s :指定会话名称。
如果不加 -s 指定名称,tmux new 和 tmux 效果一样。
3. 分离会话,保持会话后台运行,回到原始shell
当你在一个 tmux 会话中时,你可以按 Ctrl+b
然后按 d
来分离当前会话,这会让你返回到原始的 shell,但 tmux 会话会在后台继续运行。
# 在tmux中按下
Ctrl+b d
4. 列出所有会话
[root@localhost ~]# tmux ls
5. 关闭会话
如果在会话中使用了 Ctrl + d ,或者执行了 exit 命令,那么会话自动关闭并退出。但是如果我们先分离会话,从外面的shell中关闭后台的会话,就要使用tmux命令来关闭:
[root@localhost ~]# tmux kill-session -t mysessionname
这将会终止指定名称的会话及其所有窗口和窗格。myseesionname为 tmux ls 列出的列表“:”前的内容,可以是索引数字。
6. 在会话中创建新窗口
在 tmux 中,一个会话可以有多个窗口,每个窗口就像一个新的标签页。要创建一个新的窗口,可以使用:
# 在 tmux 中按下
Ctrl+b c
以下为先创建名为hello的会话,再ctrl+b c后创建了2个新窗口,注意图片下方绿色状态栏的变化,当前窗口后面会有一个星号字符。通过 ctrl + b 后接着按 数字 0、1、2 可以切换不同的窗口。如果想循环切换窗口,ctrl+b后按n键或p键向后向前切换窗口。

7. 关闭窗口
标准做法是先按 Ctrl+b,然后按 &,这将提示确认是否要关闭当前的窗口。
还可以使用ctrl+b后按x键,会询问是否关闭当前窗口。实际上ctrl+b x是关闭退出窗格的,但是当窗口中只有一个窗格时,他就相当于关闭窗口了。实际上我通常会记住这个操作,因为x就像关闭按钮,好记。
如果知道要关闭哪个窗口,可以直接在 shell 中输入命令来关闭特定的窗口,例如,要关闭编号为 1 的窗口,你可以使用如下命令(不分离会话情况下):
tmux kill-window -t :1
如果在某个窗口内,执行 tmux kill-window 而不加参数,也会将当前窗口关闭。
tmux kill-window
如果在 tmux 会话之外,需要指定会话和窗口编号,比如:
tmux kill-window -t mysessionname:1
8. 切分窗口,划分窗格
在tmux某个窗口中,按下Ctrl+b %,会对窗口进行垂直切割。比如我按了5次ctrl+b %,如图所示:

Ctrl+b 空格 , 可以切换窗格布局,不停的按ctrl+b 空格,就会循环切换布局:

9. 窗格之间切换
很简单,Ctrl+b 后(抬起按键),按 方向键 就可以在不同窗口间切换。
为什么本条操作Ctrl+b要加括号着重强调一定是抬起按键后按方向键呢?因为不抬起Ctrl+b情况下,按方向键就调节窗格的大小(只要Ctrl+b不抬起,就可以不停的按方向键调整窗格大小)。
10. 窗格的关闭
一是通过在tmux会话中按下 Ctrl+b x来退出当前窗格。而是在要退出的窗格中敲入命令退出:
tmux kill-pane
关闭其它所有的窗格:
tmux kill-pane -a
上好干货!!