tmux终端 - 图2

参考链接 https://www.ruanyifeng.com/blog/2019/10/tmux.html

tmux是什么

  1. tmux是一个Linux上强大的终端复用工具,它可以替代Linux中的Terminal而使用。
  2. tmux可以使会话和窗口“解绑”。即窗口关闭时,窗口中运行的会话(进程)不会被终止,而是继续运行,当后续需要时,可以使会话(进程)绑定新的窗口。
  3. tmux支持在同一个窗口中显示多个会话,还可以以垂直或者水平的方式拆分不同的会话。

命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称”窗口”),在里面输入命令。用户与计算机的这种临时的交互,称为一次”会话”(session) 。 会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。

image.png

tmux基本用法

安装

  1. $ sudo apt-get install tmux

启动与退出

启动tmux只需在终端运行tmux,当前终端便会替换成tmux。

  1. $ tmux

按下 Ctrl+d 或者在终端中输入 exit ,即可退出tmux。

  1. $ exit

前缀键

在默认的键盘输入时是以文本输入的方式输入到终端。tmux还提供了大量的快捷键,使用快捷键前需先按下前缀键以激活快捷键。
tmux的默认前缀键是 Ctrl + b
tmux中关闭当前格窗的快捷键是 x。要关闭当前格窗,得先执行前缀键 Ctrl + b,再按下 x 。

  1. Ctrl + b x /* 关闭当前格窗 */


会话管理

新建会话

启动第一个tmux窗口,其窗口编号为0,第二个窗口编号为1,以此累加。窗口所对应的会话编号也是0,1 ….
image.png

  1. $ tmux new -s <session-name>

分离窗口

在当前的tmux窗口中,按下快捷键 Ctrl + b d或者在终端中输入 tmux detach,即可将当前窗口与会话分离。

  1. $ tmux detach
  1. Ctrl + b d

分离窗口后,窗口将退回默认的终端。此时,会话仍在后台运行。

会话列表

分离窗口后,虽然窗口退出到默认的终端,但是刚才在tmux中运行的会话仍然在后台运行着。
执行 tmux ls 或者 tmux list-session 可查看在后台运行的会话。

  1. $ tmux ls
  2. or
  3. $ tmux list-session
  1. Ctrl + b s

image.png

接入后台会话

从分离后的窗口中接入后台运行的会话。

  1. $ tmux attach -t <index>
  2. or
  3. $ tmux attach -t <session-name>

image.png

杀死会话

  1. $ tmux kill-session -t <index>
  2. or
  3. $ tmux kill-session -t <session-name>

切换会话

  1. $ tmux switch -t <index>
  2. or
  3. $ tmux switch -t <session-name>

重命名会话

  1. $ tmux rename-session -t <index> <session-name>

重命名当前编号为 index 的会话。

  1. Ctrl + b $

格窗管理

tmux支持在一个窗口中显示多个格窗(pane)。
image.png

新建格窗

新建垂直格窗

在当前格窗输入命令 tmux split-window,即可在当前的格窗下生成一个新的格窗。或使用快捷键 Ctrl + b ".

  1. $ tmux split-window
  2. or
  3. Ctrl + b "

新建水平格窗

在当前格窗输入命令 tmux split-window -h,即可在当前的格窗右侧生成一个新的格窗。或使用快捷键 Ctrl + b %.

  1. $ tmux split-window -h
  2. or
  3. Ctrl + b %

关闭当前格窗

在当前格窗输入快捷键 Ctrl + b x 即可关闭当前格窗。

  1. Ctrl + b x

切换激活格窗

从当前格窗切换到其他格窗,使用快捷键 Ctrl + b 加方向键选择。

  1. Ctrl + b <arrow-key>

光标切换至上一个格窗

  1. Ctrl + b :

光标切换至下一个格窗

  1. Ctrl + b o

拆分格窗成独立窗口

  1. Ctrl + b !

调整格窗大小

使用快捷键 Ctrl + b 加 Ctrl + 方向键 在当前格窗上调整大小。

  1. Ctrl + b Ctrl + <arrow-key>

翻页

在tmux中,使用鼠标滚轮无法执行页面翻页操作(tmux中滚轮只会显示历史命令)。使用快捷键 Ctrl + b pageup/pagedown 进行翻页。

  1. Ctrl + b PageUp/PageDown
  2. $ q /* 退出翻页 */

清空回滚缓冲区

在tmux窗口中执行 clear 只会清除当前页面的显示内容。要清除历史缓冲,执行指令 tmux clear

  1. $ tmux clear

窗口管理

tmux除了能在一个窗口中显示多个格窗外,还支持开启多个窗口。

新建窗口

  1. $ tmux new-window
  2. /* 新建一个指定名称的窗口 */
  3. $ tmux new-window -n <window-name>
  4. or
  5. Ctrl + b c

退出当前窗口

在当前窗口执行命令 exit 即可退出当前窗口。

  1. $ exit

窗口切换

切换至上一个窗口

  1. Ctrl + b p

切换至下一个窗口

  1. Ctrl + b n

其他操作

  1. # 列出所有快捷键,及其对应的 Tmux 命令
  2. $ tmux list-keys
  3. # 列出所有 Tmux 命令及其参数
  4. $ tmux list-commands
  5. # 列出当前所有 Tmux 会话的信息
  6. $ tmux info
  7. # 重新加载当前的 Tmux 配置
  8. $ tmux source-file ~/.tmux.conf