再也不用担心 SSH 断开了 - tmux 命令( 二 )


[root@ecs-centos-7 ~]# tmux lsaa: 1 windows (created Sun Sep 20 23:26:33 2020) [134x34]bb: 1 windows (created Mon Sep 21 22:51:01 2020) [134x34] (attached)[root@ecs-centos-7 ~]# tmux switch -t aa[root@ecs-centos-7 ~]# tmux lsaa: 1 windows (created Sun Sep 20 23:26:33 2020) [134x34] (attached)bb: 1 windows (created Mon Sep 21 22:51:01 2020) [134x34] 上面的例子中tmux窗口刚开始是接入的是 bb 的会话, 执行 tmux switch -t aa, 通过 tmux ls 命令结果可以知道tmux窗口从 bb 会话转换到 aa 会话中了

  • 重命名会话
在实际使用 tmux的过程中,为了便于记忆以及识别,会话名字都会改成一个有意义并且容易记忆的名字,tmux rename -t 旧会话名或会话ID 新会话名或会话ID 命令可以重命名一个会话
按 Ctrl + B $ 快捷键之后,tmux窗口底部的状态栏变成可输入状态,此时可以输入新的会话名字再按回车键确认修改也可完成会话的重命令
[root@ecs-centos-7 ~]# tmux lsaa: 1 windows (created Sun Sep 20 23:26:33 2020) [134x34]bb: 1 windows (created Mon Sep 21 22:51:01 2020) [134x34][root@ecs-centos-7 ~]# tmux rename -t aa dev[root@ecs-centos-7 ~]# tmux rename -t bb test[root@ecs-centos-7 ~]# tmux lsdev: 1 windows (created Sun Sep 20 23:26:33 2020) [134x34]test: 1 windows (created Mon Sep 21 22:51:01 2020) [134x34]上面的例子中,把 会话名aa 修改成 dev 表示这个会话是用于执行开发任务,把会话名 bb 修改成 test 表示这个会话是用于测试任务
  • 退出会话
当会话中任务执行完成之后,为了不在占用系统资源,可以在会话中输入 exit 命令或者 tmux kill-session -t 会话名或会话ID 命令 退出当前会话
如果tmux窗口没有接入任何一个会话中,tmux kill-seesion -t 会话名或会话ID 命令会使指定会话名或会话ID退出会话,tmux kill-server 命令使所有会话全部退出
[root@ecs-centos-7 ~]# tmux lsaa: 2 windows (created Mon Sep 21 23:45:36 2020) [134x34]bb: 1 windows (created Mon Sep 21 23:56:35 2020) [134x34]cc: 1 windows (created Mon Sep 21 23:56:59 2020) [134x34]dd: 1 windows (created Mon Sep 21 23:57:08 2020) [134x34][root@ecs-centos-7 ~]# tmux kill-session -t dd[root@ecs-centos-7 ~]# tmux lsaa: 2 windows (created Mon Sep 21 23:45:36 2020) [134x34]bb: 1 windows (created Mon Sep 21 23:56:35 2020) [134x34]cc: 1 windows (created Mon Sep 21 23:56:59 2020) [134x34][root@ecs-centos-7 ~]# tmux kill-server[root@ecs-centos-7 ~]# tmux lsfailed to connect to server上面例子中,一开始总共有 aa,bb, cc, dd 四个会话,tmux kill-session -t dd 命令使 dd 会话退出了,tmux kill-server 命令使剩下的 aa, bb, cc 会话也全部退出了
窗口操作
  • 创建窗口
tmux new-window命令用来创建一个窗口, 也可以使用快捷键 Ctrl + B c创建窗口
新建会话时,默认会创建一个窗口ID为0的窗口,每次创建窗口,窗口ID会自动递增, 新窗口会自动变成活跃窗口
[root@ecs-centos-7 ~]# tmux list-window0: root@ecs-centos-7:~* (1 panes) [134x34] [layout bb3e,134x34,0,0,1] @1 (active)[root@ecs-centos-7 ~]# tmux new-window[root@ecs-centos-7 ~]# tmux list-window0: root@ecs-centos-7:~- (1 panes) [134x34] [layout bb3e,134x34,0,0,1] @11: root@ecs-centos-7:~* (1 panes) [134x34] [layout bb45,134x34,0,0,8] @8 (active)上面例子中 tmux list-window 是列出当前会话中所有的窗口,它的结果中最左边的数字是窗口ID,最右边括号的字符串 active 表示窗口是活跃状态
会话只有一个窗口时,默认就是活跃状态,使用 tmux new-window 命令创建一个窗口之后,默认新窗口是活跃状态
  • 切换窗口
下面是切换窗口相关的快捷键,在按下面的快捷键之前,需要先按快捷键前缀 ( 默认是 Ctrl + B )
p前一个窗口n下一个窗口l最后一个窗口w选择窗口我们以 选择窗口 的快捷键为例,按 Ctrl + B w 键之后,会出现类似下面的窗口列表
(0)0: root@ecs-centos-7:~- "ecs-centos-7.4-64bit-20200212"(1)1: root@ecs-centos-7:~"ecs-centos-7.4-64bit-20200212"(2)2: root@ecs-centos-7:~"ecs-centos-7.4-64bit-20200212"(3)3: root@ecs-centos-7:~* "ecs-centos-7.4-64bit-20200212"同时光标默认选中当前活跃的窗口,我们可以从列表中选择一个窗口,然后按回车键,就会切换到选中的窗口
  • 删除窗口
tmux kill-window 命令可以删除当前窗口,当会话只有一个窗口时,使用这个命令会自动结束会话
tmux kill-window -t 窗口ID 命令是删除指定窗口ID的窗口
[root@ecs-centos-7 ~]# tmux list-window0: root@ecs-centos-7:~(1 panes) [171x42] [layout b4bd,171x42,0,0,0] @01: root@ecs-centos-7:~- (1 panes) [171x42] [layout b4be,171x42,0,0,1] @12: root@ecs-centos-7:~* (1 panes) [171x42] [layout b4bf,171x42,0,0,2] @2 (active)[root@ecs-centos-7 ~]# tmux kill-window -t 0[root@ecs-centos-7 ~]# tmux list-window1: root@ecs-centos-7:~- (1 panes) [171x42] [layout b4be,171x42,0,0,1] @12: root@ecs-centos-7:~* (1 panes) [171x42] [layout b4bf,171x42,0,0,2] @2 (active) [root@ecs-centos-7 ~]# tmux kill-window[root@ecs-centos-7 ~]# tmux list-window1: root@ecs-centos-7:~* (1 panes) [171x42] [layout b4be,171x42,0,0,1] @1 (active)


推荐阅读