如何使用tmux会话来管理远程连接
Linux管理员经常需要同时处理多项职责,例如维护与多台服务器的连接以管理服务、维护软件、更新配置和查看日志文件。与其反复建立和关闭连接,从单个工作站的shell建立多个终端更加方便和节省时间。
终端复用器(tmux)应用程序使管理员能够连接和断开多个会话,而无需关闭终端(否则会退出其中运行的进程)。
本文帮助管理员开始使用tmux。它涵盖了安装过程、基本用法、配置选项以及使tmux成为如此有用工具的基本键绑定。
tmux的主要优势和功能
将tmux集成到标准Linux系统管理工作流程中有几个主要好处。这些好处包括:
- 维护断开连接后仍运行的持久会话,使长时间运行的任务(如软件编译或脚本执行)能够继续。
- 提供垂直和水平分屏窗格,用于在本地shell中查看多个会话。
- 启用键绑定以实现高效的任务切换。
大多数管理员先建立SSH连接,然后运行tmux。SSH提供安全性,而tmux提供灵活性。
除了持久会话,tmux还支持许多其他用例,例如:
- 将终端窗口拆分为多个窗格,以同时运行多个应用程序,例如系统管理任务和Python开发。
- 将多个用户连接到一个会话以进行协作、结对编程或故障排除。
- 对多个系统进行持续监控,包括各种日志文件和服务。
如何安装tmux
Tmux为Linux和macOS提供了各种安装选项,因为当前大多数发行版通常不包含它。安装过程假设操作系统使用首选的包管理器。与许多Linux应用程序一样,tmux是开源的。用户可以下载源代码并自行编译程序。
基于Red Hat的Linux发行版
对于诸如RHEL、Fedora、AlmaLinux和Rocky Linux等发行版,输入:
|
|
基于Debian的发行版
对于基于Debian的发行版,包括Ubuntu和Linux Mint,输入:
|
|
macOS
Mac用户经常依赖Homebrew包管理器。安装Homebrew后,运行以下命令来添加tmux:
|
|
Windows
Windows用户必须依赖Windows Subsystem for Linux(WSL)。安装WSL后,使用apt包管理器安装tmux:
|
|
用户还可以在OpenBSD、FreeBSD和NetBSD上运行tmux。
如何在tmux中执行基本操作
通过输入tmux
命令来运行应用程序。一旦运行,使用Ctrl+B组合键来启动命令。在Linux系统上按下Ctrl+B会提醒tmux接下来的按键是给tmux本身的命令。
例如,断开tmux会话依赖于d
命令。确保先按下Ctrl+B,提醒tmux随后的命令——D断开命令——适用于它。
启动和分离会话
首先启动一个新的tmux会话。给它一个唯一的会话名称——一些描述性的名称。一旦会话运行,它将在断开会话后继续执行脚本和命令。
通过输入以下命令创建一个名为backup-script的新会话:
|
|
启动tmux会话后,使用SSH连接到远程系统。例如,tmux窗口中的命令可能类似于ssh damon@192.168.2.200
。
使用SSH会话启动备份脚本、执行系统管理任务或更新软件。
通过使用D
键从tmux会话分离。不要忘记使用Ctrl+B来通知tmux下一个命令适用于它。
|
|
显示现有会话
使用tmux ls
命令显示现有会话,如下所示。
|
|
重新附加到会话
通过使用attach子命令并指定会话名称来重新附加到正在运行的会话。
|
|
这个例子说明了为什么描述性名称很重要。
终止会话
使用以下命令终止现有会话:
|
|
如何在tmux中使用复制模式
Linux发行版中的标准本地命令历史功能可能无法与tmux可靠地工作。相反,依赖tmux自己的复制模式。
复制模式允许用户从终端历史中选择和复制命令,并将它们粘贴到tmux窗格中。
tmux复制模式过程遵循六个步骤:
- 按下Ctrl+B,然后按
[
键。 - 使用导航键——通常是箭头键——移动到所需的文本。
- 按空格键开始文本选择过程。
- 使用导航键选择文本。
- 选择文本后按Enter键。
- 使用
]
键粘贴文本。
tmux键绑定快速参考指南
使用以下快速参考列表来利用可用的键绑定:
Ctrl+B C
:创建一个新窗口。Ctrl+B N
:切换到下一个窗口。Ctrl+B P
:切换到上一个窗口。Ctrl+B W
:列出所有窗口以选择一个。Ctrl+B %
:垂直拆分当前窗格。Ctrl+B "
:水平拆分当前窗格。Ctrl+B D
:从当前会话分离。
Tmux包含许多额外的键绑定,但这些足以开始使用。
基本自定义选项
Tmux依赖~/.tmux.conf
文件。因为它存储在用户的主文件夹中,所以它不是全局配置,使管理员能够根据自己的偏好自定义tmux。Tmux不会自动创建该文件,尽管它在启动时会检查它。如果用户想要个性化tmux,必须创建该文件并添加自定义。
一些常见的配置选项包括:
- 将tmux前缀命令从默认的Ctrl+B调整为Ctrl+A或类似。
- 启用状态栏颜色、边框和样式以便于窗格识别。
- 配置自定义键绑定。
- 在启动新的tmux会话时自动运行特定命令、脚本或程序。
高级用户可以将Tmux Plugin Manager添加到他们的系统中。该实用程序使用社区开发的插件启用许多额外的自定义。
将tmux与SSH一起使用
SSH提供了一种安全连接到远程系统的关键方法。Tmux通过启用多个运行的远程会话来扩展其灵活性。用户以后可以重新附加到这些会话,他们甚至可以从不同的系统重新附加。例如,这使得可以从办公室的工作站在远程服务器上执行程序,然后从家用计算机验证其状态。