tmux是什么
- tmux是一个Linux上强大的终端复用工具,它可以替代Linux中的Terminal而使用。
- tmux可以使会话和窗口“解绑”。即窗口关闭时,窗口中运行的会话(进程)不会被终止,而是继续运行,当后续需要时,可以使会话(进程)绑定新的窗口。
- tmux支持在同一个窗口中显示多个会话,还可以以垂直或者水平的方式拆分不同的会话。
命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称”窗口”),在里面输入命令。用户与计算机的这种临时的交互,称为一次”会话”(session) 。 会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
tmux基本用法
安装
$ sudo apt-get install tmux
启动与退出
启动tmux只需在终端运行tmux,当前终端便会替换成tmux。
$ tmux
按下 Ctrl+d 或者在终端中输入 exit ,即可退出tmux。
$ exit
前缀键
在默认的键盘输入时是以文本输入的方式输入到终端。tmux还提供了大量的快捷键,使用快捷键前需先按下前缀键以激活快捷键。
tmux的默认前缀键是 Ctrl + b
。
tmux中关闭当前格窗的快捷键是 x
。要关闭当前格窗,得先执行前缀键 Ctrl + b,再按下 x 。
Ctrl + b x /* 关闭当前格窗 */
会话管理
新建会话
启动第一个tmux窗口,其窗口编号为0,第二个窗口编号为1,以此累加。窗口所对应的会话编号也是0,1 ….
$ tmux new -s <session-name>
分离窗口
在当前的tmux窗口中,按下快捷键 Ctrl + b d
或者在终端中输入 tmux detach
,即可将当前窗口与会话分离。
$ tmux detach
Ctrl + b d
分离窗口后,窗口将退回默认的终端。此时,会话仍在后台运行。
会话列表
分离窗口后,虽然窗口退出到默认的终端,但是刚才在tmux中运行的会话仍然在后台运行着。
执行 tmux ls 或者 tmux list-session 可查看在后台运行的会话。
$ tmux ls
or
$ tmux list-session
Ctrl + b s
接入后台会话
从分离后的窗口中接入后台运行的会话。
$ tmux attach -t <index>
or
$ tmux attach -t <session-name>
杀死会话
$ tmux kill-session -t <index>
or
$ tmux kill-session -t <session-name>
切换会话
$ tmux switch -t <index>
or
$ tmux switch -t <session-name>
重命名会话
$ tmux rename-session -t <index> <session-name>
重命名当前编号为 index 的会话。
Ctrl + b $
格窗管理
新建格窗
新建垂直格窗
在当前格窗输入命令 tmux split-window
,即可在当前的格窗下生成一个新的格窗。或使用快捷键 Ctrl + b "
.
$ tmux split-window
or
Ctrl + b "
新建水平格窗
在当前格窗输入命令 tmux split-window -h
,即可在当前的格窗右侧生成一个新的格窗。或使用快捷键 Ctrl + b %
.
$ tmux split-window -h
or
Ctrl + b %
关闭当前格窗
在当前格窗输入快捷键 Ctrl + b x
即可关闭当前格窗。
Ctrl + b x
切换激活格窗
从当前格窗切换到其他格窗,使用快捷键 Ctrl + b 加方向键
选择。
Ctrl + b <arrow-key>
光标切换至上一个格窗
Ctrl + b :
光标切换至下一个格窗
Ctrl + b o
拆分格窗成独立窗口
Ctrl + b !
调整格窗大小
使用快捷键 Ctrl + b 加 Ctrl + 方向键
在当前格窗上调整大小。
Ctrl + b Ctrl + <arrow-key>
翻页
在tmux中,使用鼠标滚轮无法执行页面翻页操作(tmux中滚轮只会显示历史命令)。使用快捷键 Ctrl + b pageup/pagedown 进行翻页。
Ctrl + b PageUp/PageDown
$ q /* 退出翻页 */
清空回滚缓冲区
在tmux窗口中执行 clear
只会清除当前页面的显示内容。要清除历史缓冲,执行指令 tmux clear
。
$ tmux clear
窗口管理
tmux除了能在一个窗口中显示多个格窗外,还支持开启多个窗口。
新建窗口
$ tmux new-window
/* 新建一个指定名称的窗口 */
$ tmux new-window -n <window-name>
or
Ctrl + b c
退出当前窗口
在当前窗口执行命令 exit
即可退出当前窗口。
$ exit
窗口切换
切换至上一个窗口
Ctrl + b p
切换至下一个窗口
Ctrl + b n
其他操作
# 列出所有快捷键,及其对应的 Tmux 命令
$ tmux list-keys
# 列出所有 Tmux 命令及其参数
$ tmux list-commands
# 列出当前所有 Tmux 会话的信息
$ tmux info
# 重新加载当前的 Tmux 配置
$ tmux source-file ~/.tmux.conf