Linux 下的分屏利器-tmux安装、原理及使用

完整的 tmux 命令可以参考
tmux 常用命令
Tmux 快捷键 & 速查表

Linux 下的分屏利器 - tmux

有时候相关操作,开多个终端切来切去的挺麻烦,这时可以在一个终端里分屏。tmux 工具就是分屏用的。

安装

Ubuntu 用 apt 命令安装

apt install tmux

RHEL 或 CentOS 用 yum 命令安装:

yum install tmux

原理

tmux 是 C-S 架构,server 可以在本地或其他服务器上。client 连接到 server,建立 session 会话。每个终端可以建立多个 session,每个 session 可以包含多个 window(从0开始编号,类似 SecureCRT 中每个连接对应的一个 tab),一个 window 可以被分割为多个 pane(左右或上下分屏)。

关闭 client 窗口后,session 相关进程会持续在后台 server 上执行。除非关闭 session。

启动 tmux,建立 session

在终端输入

tmux

即可启动 tmux,创建一个匿名的 session。启动后,需要通过命令前缀 Ctrl + b 向 tmux 发送命令。

新建名字为 session_name 的命名 session:

tmux new -s session_name

查看所有 session

tmux ls
tmux list-sessions

临时退出 session

按下 Ctrl+b 命令前缀后,输入 d,会回到终端,此时所有 tmux 客户端相关进程仍在后台运行:

d

d 表示 detach。

进入已存在的session

tmux a -t $session_name

a 表示 attach。

结束当前所在 session

按下 Ctrl+b 命令前缀后,输入下面命令,注意用冒号开头:

:kill-session

结束所有 session

如果在 tmux 中,需要按下 Ctrl+b 命令前缀后,输入下面命令,注意用冒号开头:

:kill-server

如果在终端中,输入以下命令即可:

tmux kill-server

结束指定 session

回到终端中,输入下面命令:

tmux kill-session -t session_name

常见用法

为了防止命令冲突,tmux 规定了一个命令前缀 Ctrl + b,要想向 tmux 发送命令,必须首先按一次 Ctrl 和 B 两个键。

创建及切换窗口

按命令前缀 Ctrl + b 后,再按 c 键即可创建新窗口(类似新开的 tab 页)。

c

按命令前缀 Ctrl + b 后,再按 0-9 数字键即可跳转到对应的窗口。

分屏、切换光标、删除分屏

水平分屏 - 双引号

启动 tmux 后,按命令前缀 Ctrl + b 后,再按一次双引号 " 即可将当前屏幕分为上下两块。

垂直分屏 - 百分号

启动 tmux 后,按命令前缀 Ctrl + b 后,再按一次百分号 % 即可将当前屏幕分为左右两块。

切换光标

分屏后,通过方向键可以在不同分屏之间切换光标。记得每次切换前仍需要命令前缀 Ctrl + b

组合分屏

通过 tmux 分屏后,可以对某一个分屏再次进行分屏,从而得到上二下一、左一右二等各种样式的分屏。

调整 pane 大小

按下命令前缀后,按住ctrl 然后用方向键改变分屏大小。注意不要松开 Ctrl。

删除 pane

启动 tmux 后,按命令前缀 Ctrl + b 后,再按一次 x 即可将当前 pane 删除。

后台运行 tmux

按下命令前缀 Ctrl + b 后,再按一次 d 键,返回主 shell。此时 tmux 中的命令保持在运行状态。可以通过 tmux ls 命令查看后台运行的 tmux 客户端。

查看帮助

按下命令前缀 Ctrl + b 后,再按一次 ? 键,可以查看 tmux 的帮助文档。

  • C-b t //显示时钟
  • C-b & // 确认后退出 tmux

拷贝

按下命令前缀 Ctrl + b 后,再按一次 [ 键进入拷贝模式。空格开始拷贝,回车结束拷贝。[ 键退出拷贝模式。

利用 tmux 后台运行任务

ssh 登录远程的 Linux 运行一些耗时较长的任务, 如果网络不稳定导致掉线,会使得任务中途失败。要让命令提交后不受本地关闭终端窗口/网络断开连接的影响,可以将任务放到后台运行,也可以利用 tmux 实现。

posted on 2018-11-17 14:53  kikajack  阅读(3039)  评论(0编辑  收藏  举报