tmux:现代的 screen 替代方案
Source: Dev.to
概览
Tmux 是一个终端复用器。它允许你在同一个终端中运行多个程序,能够将它们分离(使其在后台继续运行),并在以后从另一个终端重新附加。
- 会话(Session) – 将一个或多个窗口组合在一起。
- 窗口(Window) – 将一个或多个窗格组合在一起;一个会话可以拥有多个窗口。
- 窗格(Pane) – 窗口内部的分割区域,里面包含一个运行程序的终端。
会话
创建会话
如果不指定名称,tmux 会自动分配一个:
tmux
使用自定义名称创建会话:
tmux new -s session_name
创建会话后,tmux 会自动将你附加到该会话。
分离和退出
-
从会话中分离(保持会话在后台运行):
Ctrl+b d -
退出 shell;如果没有窗口剩余,会话将被销毁:
Ctrl+D
管理会话
-
列出所有运行中的会话:
tmux ls -
附加到唯一(或最近使用的)会话:
tmux attach -
按名称附加到指定会话:
tmux attach -t session_name
窗口
在 tmux 中,窗口类似于终端模拟器中的标签页。
创建和切换窗口
-
创建新窗口:
Ctrl+b c -
切换到下一个或上一个窗口:
Ctrl+b n(下一个)
Ctrl+b p(上一个) -
按编号切换窗口(例如 0、1、2):
Ctrl+b 0Ctrl+b 1Ctrl+b 2 -
显示窗口列表:
Ctrl+b w
窗格
窗格是 tmux 窗口内部的分割区域。每个窗格运行各自的 shell 或程序。
分割窗格
-
垂直分割当前窗口:
Ctrl+b % -
水平分割当前窗口:
Ctrl+b "
在窗格之间移动
-
移动到下一个窗格:
Ctrl+b o -
使用方向键切换到指定窗格:
Ctrl+b ←Ctrl+b →Ctrl+b ↑Ctrl+b ↓
调整窗格大小
Ctrl+b Ctrl+← # 向左收缩
Ctrl+b Ctrl+→ # 向右放大
Ctrl+b Ctrl+↑ # 向上放大
Ctrl+b Ctrl+↓ # 向下收缩
关闭窗格
通过退出 shell 关闭当前窗格:
Ctrl+D