【Linux】tmux

Posted by 西维蜀黍 on 2021-07-13, Last Modified on 2021-10-16

通过 SSH 远程连接到服务器,无法开启多个终端,只能再次 ssh 连接一次。那么问题来了,怎么通过 ssh 连接 Linux,使用多个终端呢

Session 管理

新建 Session

$ tmux # 新建一个无名称的会话
$ tmux new -s <demo> # 新建一个名称为demo的会话

上面命令会启动 Tmux 窗口,底部有一个状态栏。状态栏的左侧是窗口信息(编号和名称),右侧是系统信息。

按下 Ctrl+d 或者显式输入 exit 命令,就可以退出 Tmux 窗口。

$ exit
  • Ctrl+b %:左右分屏
  • Ctrl+b ":上下分屏
  • Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key> 是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键
  • Ctrl+b ;:光标切换到上一个窗格。
  • Ctrl+b o:光标切换到下一个窗格。
  • Ctrl+b {:当前窗格与上一个窗格交换位置。
  • Ctrl+b }:当前窗格与下一个窗格交换位置。
  • Ctrl+b Ctrl+o:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。
  • Ctrl+b Alt+o:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。
  • Ctrl+b x:关闭当前窗格。
  • Ctrl+b !:将当前窗格拆分为一个独立窗口。
  • Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。
  • Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小。
  • Ctrl+b q:显示窗格编号。

前缀键(prefix)

Tmux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是 Ctrl+b,即先按下 Ctrl+b,快捷键才会生效。

举例来说,帮助命令的快捷键是 Ctrl+b ?。它的用法是,在 Tmux 窗口中,先按下 Ctrl+b,再按下 ?,就会显示帮助信息。

然后,按下 ESC 键或 q 键,就可以退出帮助。

分离 Session

在 Tmux 窗口中,按下 Ctrl+b d 或者输入 tmux detach 命令,就会将当前 session 与窗口分离。

$ tmux detach

上面命令执行后,就会退出当前 Tmux 窗口,但是 session 和里面的进程仍然在后台运行。

Reference