使用tmux会话管理远程连接的完整指南

本文详细介绍了终端复用器tmux的安装配置和基本使用方法,包括会话管理、分屏操作、快捷键绑定等核心功能,帮助系统管理员高效管理多个远程服务器连接,提升工作效率。

如何使用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等发行版,输入:

1
dnf install tmux

基于Debian的发行版

对于基于Debian的发行版,包括Ubuntu和Linux Mint,输入:

1
apt install tmux

macOS

Mac用户经常依赖Homebrew包管理器。安装Homebrew后,运行以下命令来添加tmux:

1
brew install tmux

Windows

Windows用户必须依赖Windows Subsystem for Linux(WSL)。安装WSL后,使用apt包管理器安装tmux:

1
apt install tmux

用户还可以在OpenBSD、FreeBSD和NetBSD上运行tmux。

如何在tmux中执行基本操作

通过输入tmux命令来运行应用程序。一旦运行,使用Ctrl+B组合键来启动命令。在Linux系统上按下Ctrl+B会提醒tmux接下来的按键是给tmux本身的命令。

例如,断开tmux会话依赖于d命令。确保先按下Ctrl+B,提醒tmux随后的命令——D断开命令——适用于它。

启动和分离会话

首先启动一个新的tmux会话。给它一个唯一的会话名称——一些描述性的名称。一旦会话运行,它将在断开会话后继续执行脚本和命令。

通过输入以下命令创建一个名为backup-script的新会话:

1
tmux new -s backup-script

启动tmux会话后,使用SSH连接到远程系统。例如,tmux窗口中的命令可能类似于ssh damon@192.168.2.200

使用SSH会话启动备份脚本、执行系统管理任务或更新软件。

通过使用D键从tmux会话分离。不要忘记使用Ctrl+B来通知tmux下一个命令适用于它。

1
2
Ctrl+B
D

显示现有会话

使用tmux ls命令显示现有会话,如下所示。

1
tmux ls

重新附加到会话

通过使用attach子命令并指定会话名称来重新附加到正在运行的会话。

1
tmux attach -t backup-script

这个例子说明了为什么描述性名称很重要。

终止会话

使用以下命令终止现有会话:

1
tmux kill-session -t backup-script

如何在tmux中使用复制模式

Linux发行版中的标准本地命令历史功能可能无法与tmux可靠地工作。相反,依赖tmux自己的复制模式。

复制模式允许用户从终端历史中选择和复制命令,并将它们粘贴到tmux窗格中。

tmux复制模式过程遵循六个步骤:

  1. 按下Ctrl+B,然后按[键。
  2. 使用导航键——通常是箭头键——移动到所需的文本。
  3. 按空格键开始文本选择过程。
  4. 使用导航键选择文本。
  5. 选择文本后按Enter键。
  6. 使用]键粘贴文本。

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通过启用多个运行的远程会话来扩展其灵活性。用户以后可以重新附加到这些会话,他们甚至可以从不同的系统重新附加。例如,这使得可以从办公室的工作站在远程服务器上执行程序,然后从家用计算机验证其状态。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计