文章

tmux 终端多路复用

tmux 是一个终端多路复用工具,用于会话和窗口管理,很多情况下可以替代 nohupscreen 命令。

会话 Session

会话是 tmux 工作的基本单位,所有的操作均建立在会话的基础上。

新建会话

在会话中进行操作前,需要新建一个会话。

1
2
$ tmux # 新建一个未指定名称的会话
$ tmux new -s demo # 新建一个会话,并指定名称为 demo

列出所有会话

查看现存的会话可以使用:

1
$ tmux ls # 或者 tmux list-sessions

退出会话

在进行一些耗时操作时,想要退出会话,但不想关闭该会话,可以使用如下命令:

1
$ tmux detach # 当前会话命令行可用时直接输入

或在会话窗口,使用快捷键 Ctrl+b d,建议使用此方法。

进入现存会话

进入已退出的会话以继续执行操作,可以使用命令:

1
2
$ tmux a -t demo # 或者 tmux attach-session -t demo
$ tmux switch -t demo # 在别的会话中切换到 demo 会话

关闭会话

1
2
$ tmux kill-session # 当前会话命令行可用时直接输入
$ tmux kill-session -t demo # 关闭指定名称的会话

窗口 Window

一个 tmux 会话可以有多个窗口(Window),窗口占满整个区域,默认进入的窗口编号为 0。

窗口的基本操作有:

  • 快捷键 Ctrl+b c:创建新窗口,窗口编号加一
  • 快捷键 Ctrl+b 1:切换到编号为 1 的窗口
  • 快捷键 Ctrl+b w:列出当前会话中的所有窗口

窗格 Pane

一个窗口可以分割为多个窗格(Pane),其是 tmux 操作的最小单位,可以实现分屏的效果。

窗格的基本操作有:

  • 快捷键 Ctrl+b %:垂直分屏
  • 快捷键 Ctrl+b ":水平分屏
  • 快捷键 Ctrl+b o:依次切换当前窗口下的各个窗格
  • 快捷键 Ctrl+b 上下左右:根据箭头方向切换窗格
  • 快捷键 Ctrl+b Space:重新排列当前窗口下的所有窗格
  • 快捷键 Ctrl+b z:最大化及复原当前窗格
  • 快捷键 Ctrl+b x:关闭当前窗格
  • 快捷键 Ctrl+b PgUp/PgDn:查看当前窗格的历史内容,使用 q 退出查看
本文由作者按照 CC BY 4.0 进行授权