如何在 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 中的复制命令,并了解了我们在复制(或粘贴)模式下可以执行的一些操作。