tmux使用指南:4 :会话管理

在这里插入图片描述

在前面的文章中我们介绍过tmux中会话(session)的概念,会话包含窗口和窗格,并介绍了创建和删除会话的方法,这篇文章中来总结一下tmux中对于会话的常见操作。

操作命令

命令 说明
tmux ls 显示会话列表
tmux list-session 显示会话列表
tmux new -s 会话名称 创建指定名称的会话
tmux new 创建会话(省略名称时会使用默认名称, 默认方式使用编号,编号从0开始递增)
tmux a -t mysession 连接指定名称会话(a是attach的缩写,也可以使用attach)
tmux a 连接会话(省略会话名称时表示连接上一个会话)
tmux rename -t 修改前的会话名或者编号 修改后的会话名 重命名会话:将 修改前的会话名修改为修改后的会话名
tmux switch -t 会话名称或者编号 会话切换,需要注意的是需要在tmux环境下
tmux kill-session 删除上次打开的会话
tmux kill-session -t 删除目标会话名 删除指定会话
tmux kill-session -a -t 保留的会话名称 删除 指定的保留的会话之外的所有会话
tmux kill-server 删除所有会话

快捷方式

tmux的缺省快捷键为 Ctrl + b,会话相关的操作又如下的快捷键可以进行操作

快捷键 说明
Ctrl + b → s 列出可以进行选择切换的会话
Ctrl + b → $ 重命名重命名
Ctrl + b → d 退出当前会话
Ctrl + b → D 退出指定会话

使用示例说明

首先使用tmux ls确认会话状态,结果显示no server running说明此时没有会话

liumiao@liumiaocn ~ % tmux ls
no server running on /private/tmp/tmux-501/default
liumiao@liumiaocn ~ % 

使用tmux new创建一个会话,然后使用tmux detach命令或者快捷键d退出,可以看到如下类似的日志信息,从detach的信息中可以看到创建的会话的号为0,这是缺省方式下的第一个会话的编号。

liumiao@liumiaocn ~ % tmux new
[detached (from session 0)]
liumiao@liumiaocn ~ % 

使用tmux ls命令可以确认此会话的详细信息

liumiao@liumiaocn ~ % tmux ls
0: 1 windows (created Tue Jan 28 14:39:41 2020)
liumiao@liumiaocn ~ %

创建一个指定名称的会话并进行detach操作

liumiao@liumiaocn ~ % tmux new -s s1
[detached (from session s1)]
liumiao@liumiaocn ~ % 
liumiao@liumiaocn ~ % tmux list-sessions
0: 1 windows (created Tue Jan 28 14:39:41 2020)
s1: 1 windows (created Tue Jan 28 14:40:19 2020)
liumiao@liumiaocn ~ % 

使用tmux new创建一个新的会话,确认此时的会话编号,会发现已经到2了(之前的指定名称的new操作对于编号是也是有影响的)。然后进行detach操作

liumiao@liumiaocn ~ % tmux new 
[detached (from session 2)]
liumiao@liumiaocn ~ % 

此时已经有三个会话了,详细信息如下所示

liumiao@liumiaocn ~ % tmux ls
0: 1 windows (created Tue Jan 28 14:39:41 2020)
2: 1 windows (created Tue Jan 28 14:41:36 2020)
s1: 1 windows (created Tue Jan 28 14:40:19 2020)
liumiao@liumiaocn ~ % 

如果使用attach操作而不指定编号,则会连接到当前的会话(刚刚创建的编号为2的会话)

在这里插入图片描述
如果不进行detach操作,而使用exit退出的话,此会话会提示exited,并且此会话也会终止。

liumiao@liumiaocn ~ % tmux attach
[exited]
liumiao@liumiaocn ~ % 
liumiao@liumiaocn ~ % tmux ls    
0: 1 windows (created Tue Jan 28 14:39:41 2020)
s1: 1 windows (created Tue Jan 28 14:40:19 2020)
liumiao@liumiaocn ~ % 

此时如果继续进行创建的话,会话编号将会继续从3开始

liumiao@liumiaocn ~ % tmux new
[detached (from session 3)]
liumiao@liumiaocn ~ % 
liumiao@liumiaocn ~ % tmux ls
0: 1 windows (created Tue Jan 28 14:39:41 2020)
3: 1 windows (created Tue Jan 28 14:42:51 2020)
s1: 1 windows (created Tue Jan 28 14:40:19 2020)
liumiao@liumiaocn ~ %

可以使用rename命令进行会话名称修改,比如这里将编号3的会话改为名称为t3,日志如下所示

liumiao@liumiaocn ~ % tmux rename -t 3 t3
liumiao@liumiaocn ~ % tmux ls            
0: 1 windows (created Tue Jan 28 14:39:41 2020)
s1: 1 windows (created Tue Jan 28 14:40:19 2020)
t3: 1 windows (created Tue Jan 28 14:42:51 2020)
liumiao@liumiaocn ~ % 

当然也可以连接之后使用快捷键进行修改
在这里插入图片描述
可以看到已经修改为t3newname了

liumiao@liumiaocn ~ % tmux a -t 0
[detached (from session t3newname)]
liumiao@liumiaocn ~ % tmux ls
0: 1 windows (created Tue Jan 28 14:39:41 2020)
s1: 1 windows (created Tue Jan 28 14:40:19 2020)
t3newname: 1 windows (created Tue Jan 28 14:42:51 2020)
liumiao@liumiaocn ~ % 

可以指定编号进行会话删除

liumiao@liumiaocn ~ % tmux kill-session -t 0
liumiao@liumiaocn ~ % tmux ls               
s1: 1 windows (created Tue Jan 28 14:40:19 2020)
t3newname: 1 windows (created Tue Jan 28 14:42:51 2020)
liumiao@liumiaocn ~ % 

也可以指定不删除的将其余全部删除

liumiao@liumiaocn ~ % tmux kill-session -a -t s1
liumiao@liumiaocn ~ % tmux ls                   
s1: 1 windows (created Tue Jan 28 14:40:19 2020)
liumiao@liumiaocn ~ % 

也可以使用kill-server删除全部会话

liumiao@liumiaocn ~ % tmux kill-server
liumiao@liumiaocn ~ % tmux ls         
no server running on /private/tmp/tmux-501/default
liumiao@liumiaocn ~ % 
发布了1020 篇原创文章 · 获赞 1288 · 访问量 398万+

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/104070542
今日推荐