如何在 Linux 上使用 tmux?


概述

Tmux 是一个用于 Unix 系统的终端复用实用程序。它提供了一个在同一台计算机上同时运行多个程序的接口。

Tmux 允许我们从任何终端会话中分离而不会终止它们。然后,我们可以在以后重新连接到任何终端会话。

我们将学习 Linux 中的 tmux 终端模拟器。具体来说,我们将检查它的一些功能和命令。

安装

您可以使用 apt-get 包管理器在基于 Debian 的 Linux 系统上安装 tmui。

$ sudo apt-get update -qq
$ sudo apt-get install -y tmux

我们也可以使用 yum 命令行工具在 Red Hat Enterprise Linux 系统上下载并运行 tmux 软件。

$ sudo yum update -qq
$ sudo yum install -y tmux

基本用法

您可以通过单独键入 tmux 来启动一个新的 tmux 窗口。

$ tmux

默认情况下,tmux 创建一个只有一个窗口的新会话。此外,服务器会为该会话自动命名 - 0。创建文件后,我们将立即进入 tmux 会话。

键绑定

根据文档,tmux 支持广泛的命令。这些命令通常用于设置 tmux 会话。例如,用于打开新窗口、在窗口中分割窗格以及分离这些窗口的命令。

要为前缀键建立键绑定,应使用前缀键启动它们。

tmux 中的会话

使用 tmux,您可以创建一组由 tmux 服务器直接管理的伪终端会话。这些被称为组。

创建会话

要在 tmux 中打开一个新会话,请使用 new-session 命令。

例如,我们可以使用 -s 标志设置一个名为“gamma”的会话,然后运行它 -

$ tmux new-session -s gamma

我们还可以使用 -n 标志指定会话的名称。

$ tmux new-session -s gamma -n observation

从会话中分离

要将客户端从会话中分离,我们可以输入热键 -

<prefix key> + d

连接到会话

我们可以使用“attach-session”命令和“-t”标志以及会话的 ID。例如,我们可以连接到 gamma 会话 -

$ tmux attach-session -t gamma

列出所有会话

如果我们想查看 tmux 服务器上所有当前会话的列表,我们可以运行 list-sessioins 命令。

$ tmux list-session
alpha: 2 windows (created Sun Jun 20 11:37:35 2021)
gamma: 1 windows (created Sun Jun 20 12:11:41 2021)

我们可以从输出中看到,tmux 服务器上当前有两个活动会话:alpha 和 gamma。

重命名会话

您可以使用 `rename-session` 命令更改现有会话的名称。

$ tmux rename-session -t alpha beta
$ tmux list-session
beta: 2 windows (created Sun Jun 20 11:37:35 2021)
gamma: 1 windows (created Sun Jun 20 12:11:41 2021)

终止会话

在终止会话之前,我们必须首先识别会话的名称。接下来,让我们通过运行“kill-session”命令和 – t 选项来终止会话 -

$ tmux kill-session -t gamma
$ tmux list-session
beta: 2 windows (created Sun Jun 20 11:37:35 2021)

tmux 中的窗口

每个 tmux 会话包含一个或多个窗口;与会话类似,这些窗口可以创建、关闭、命名和更改。

创建新窗口

要在会话中创建新窗口,我们可以使用热键 -

<prefix key> + c

每个窗口的索引从 0 开始,并且每个窗口都有其唯一的名称,通常是在该窗口中执行的命令。

列出所有窗口

您可以通过键入以下内容查看此窗口中所有打开选项卡的列表 -

<prefix key> + w

我们可以使用上下箭头在列表中移动。接下来,我们按 Enter 选择要显示的屏幕。

重命名窗口

Tmux 允许我们通过键入以下命令来更改窗口的名称 -

<prefix key> + ,

让我们将窗口的名称更改为 window1 -

更改名称并按 ENTER 后,我们可以看到名称更改反映在状态栏上 -

终止窗口

要终止窗口,我们可以使用热键 -

<prefix key> + &

当 tmux 在终止会话之前提示确认时,它会询问您是否要保存对文件的任何更改要确认命令的终止,请键入“y”并按“ENTER”。

tmux 中的窗格

通过使用 tmux,可以将窗口划分为多个单独的窗格,每个窗格分别包含其自己的独立终端会话。

将窗口拆分为窗格

要将窗口水平分成两个单独的窗口,您可以按以下键盘快捷键 -

<prefix key> + "

当我们键入命令时,当前终端窗口将被分成两个窗格 - 上窗格和下窗格。

或者,我们可以使用热键将窗口垂直分成两个窗格 -

<prefix key> + %

终止窗格

要结束窗格,我们在窗格上按下键盘快捷键。

<prefix key> + x

类似于关闭终端,tmux 会询问我们是否要确认我们的操作。要终止命令,请键入“y”,然后按 Enter。

tmux 中的复制模式

使用 tmux 剪贴板复制和粘贴

在 tmux 中复制文本比仅使用 Ctrl + C 和 Ctrl + V 键复杂。

为了更容易解释,我们将在 tmux 内部复制 date 命令的输出 -

首先,我们将使用快捷方式进入复制模式 -

<prefix key> + [

要从此处复制文本,我们将使用向上箭头键向上移动一行。当光标位于该位置时,我们将按下键盘快捷键以开始选择文本。

<prefix key> + Space

我们可以使用向左箭头键将光标移动到下一行的开头。

做出选择后,按 ENTER 将文本传输到 tmux 的剪贴板。

最后,我们将使用快捷方式从 tmux 的剪贴板粘贴文本 -

<prefix key> + ]

结论

在本教程中,我们介绍了 tmux CLI 工具。

我们首先使用了一些基本功能。然后,我们查看了构成 tmux 的不同组件。我们还学习了在每个组件上配置 tmux 的快捷方式。

我们最后查看了 tmux 中的复制命令,并了解了我们在复制(或粘贴)模式下可以执行的一些操作。

更新于: 2023年1月3日

383 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告