此处仅包含已测试并可正常工作的命令。用于
Ubuntu 24.04 LTS
tmux 非常适合在一个终端会话中打开另一个终端,
tmux new - 会话名称
使用以下命令导航到终端:
- Ctrl-b + d – 分离当前会话。
- Ctrl-b + % – 将一个窗口分割成上下两个窗格。
- Ctrl-b + ” – 将一个窗口垂直分割成两个窗格。
- Ctrl-b + 箭头键 – 向某个方向移动到另一个窗格。
- Ctrl-b + x – 关闭当前窗格。
- Ctrl-b + c – 创建一个新窗口。
- Ctrl-b + n – 根据编号转到下一个窗口。
- Ctrl-b + p – 返回到上一个窗口。
- Ctrl-b + ID 号码 – 使用 ID 号码跳转到指定窗口。
- Ctrl-b + : – 打开命令行模式。
- Ctrl-b + ? – 打印所有快捷键。
- Ctrl-b + w – 列出当前会话中的所有窗口。
在 Tmux 教程:什么是 Tmux、如何安装以及命令列表 (hostinger.com.br) 中了解更多关于 tmux 的信息。
⚠️ 使用 Deep Research 进行的搜索可能存在参照歧义。
🖥️ 使用自有工具清理的 HTML 代码。
👥 由 Guilherme Felipe 研究,Sílvio Lôbo 策展
终端的隐藏力量:揭秘 Tmux
在 Linux 的命令行世界里,效率和组织能力是无价的。在众多能将生产力提升到惊人水平的工具中,tmux(Terminal Multiplexer,终端复用器)脱颖而出。tmux 远不止是一个简单的命令,它是在你的终端内创建的一个工作环境,允许你同时、持久地管理多个会话、窗口和窗格。本文将致力于揭开它的神秘面纱,重点介绍它的关键点,并揭示一些可能引起初始不适的方面。
Linux 中的命令是什么?如何使用?
在 Linux 上下文中,命令是你输入到终端,让操作系统执行特定任务的指令。常见示例包括列出文件的 ls,切换目录的 cd,以及清屏的 clear。
而 tmux 则不是一个执行单一、点状操作的命令,而是一个创建和管理工作环境的程序。要使用 tmux,你通常在终端中输入它的名字来执行它:
tmux
执行此操作后,你将进入一个新的 tmux 会话。第一印象可能是终端与你之前使用的终端看起来一模一样,但底部状态栏(tmux 的状态栏)的存在表明有些东西已经改变。这个状态栏显示有关活动会话、窗口和窗格的信息。
相关要点和 Tmux 的架构
tmux 在客户端-服务器模型下运行。一个 tmux 服务器在后台运行,管理着会话。tmux 客户端是连接到该服务器的终端实例。这种架构对于 tmux 最令人印象深刻的特性——会话持久性——至关重要。
会话持久性:伴随你的魔法
这无疑是 tmux 的主要区别。你可以启动一个会话,执行命令,打开多个窗格和窗口,然后断开与 tmux 服务器的连接,而不会丢失你的工作。想象一下,你正在远程服务器上通过 SSH 连接,连接突然中断。没有 tmux,你所有的进度都会丢失。有了 tmux,当你重新连接时,你只需“重新连接”到现有会话,就可以从中断的地方继续。
管理会话的命令包括:
tmux new-session -s session_name:创建一个具有特定名称的新会话。tmux attach-session -t session_name:重新连接到一个现有会话。如果不指定名称,则重新连接到最后一个活动会话。tmux detach:断开与当前tmux服务器的连接,但会话保持活动状态。tmux list-sessions:列出所有活动的会话。
窗口和窗格:无限的组织
在一个 tmux 会话中,你可以创建多个窗口。将窗口想象成浏览器中的标签页。每个窗口都可以有自己的窗格配置。通过键盘快捷键可以在窗口之间导航。
在每个窗口中,你可以将空间分割成多个窗格。这就是多路复用的真正威力:让多个终端并排或上下排列,让你能够同时监控进程、编辑文件和执行命令。
最常用的快捷键(默认前缀是 Ctrl+b)包括:
Ctrl+b c:创建一个新窗口。Ctrl+b n:导航到下一个窗口。Ctrl+b p:导航到上一个窗口。Ctrl+b %:垂直分割窗口(在右侧创建一个新窗格)。Ctrl+b ":水平分割窗口(在下方创建一个新窗格)。Ctrl+b 箭头键:在窗格之间导航。Ctrl+b x:关闭当前窗格或窗口(需要确认)。
前缀:控制的钥匙
几乎所有的 tmux 功能都通过一个“前缀”加上另一个按键来访问。默认前缀是 Ctrl+b。也就是说,要创建一个新窗口,你需要按下并释放 Ctrl+b,然后按下 c。
这个前缀是可配置的,许多用户会将其重映射为更方便的键,例如 Ctrl+a,这是旧版 screen(另一个终端复用器)的前缀。
一些值得注意的、会引起初始不适的点
tmux 的学习曲线,如同许多强大的工具一样,可能有一些引起不适的方面。
前缀的行为
起初,在每次命令前需要按下前缀键可能会显得多余,并干扰自然的输入流程。你的大脑习惯于按下一次按键就能立即看到操作发生。tmux 需要停顿一下,再按下第二个键。克服这种不适感需要多加练习,随着前缀变得几乎是自动的反应,它带来的控制和组织上的收益会弥补最初的“中断”。
窗口“死亡”时会发生什么?
如果你关闭了一个连接到 tmux 会话的终端,tmux 服务器及其会话将继续运行。这是持久性的体现。然而,如果你在 tmux 中关闭一个单独的窗格(使用 Ctrl+b x),tmux 可能会表现出一种对新手来说有些反直觉的行为。它不会简单地消失,而是可能显示一条消息,如“disconnected (press Enter or Ctrl+c to exit)”。这是因为 tmux 正在保留在该窗格中运行的进程的状态。按下 Enter 键会重新连接到仍然在运行的进程,而按下 Ctrl+c 则会有效地终止该窗格。
多重重新连接(Re-attach)
一个可能引起混淆的场景是尝试重新连接到一个已经被另一个终端实例使用的会话。默认情况下,tmux 不允许多个终端客户端同时完全控制同一个会话。如果你尝试在会话在另一台机器上(甚至在同一终端的另一个窗口中)活动时重新连接,你将看到一条消息,表明该会话已在使用中。默认行为是旧会话将被断开。但是,有一些配置可以允许共享查看,但同时写入控制是复杂的,通常不被推荐。
配置:隐藏的个性化力量
虽然 tmux 开箱即用功能强大,但它的真正潜力通过配置得到释放。一个名为 .tmux.conf 的文件,位于用户的主目录中,允许你自定义 tmux 的几乎所有方面:前缀、键盘快捷键、状态栏的外观、窗格分割行为等等。忽视配置,就像开着跑车却从不打开引擎盖;它能行驶,但无法展现其全部性能。
结论
tmux 不仅仅是一个简单的命令;它是终端生产力的一个生态系统。它能够管理持久性会话、将工作空间分割成窗口和窗格,以及其广泛的配置能力,使其成为开发者、系统管理员以及任何在终端上花费大量时间的人不可或缺的工具。最初的不适感是暂时的,很快就会被它带来的便利和解锁的强大功能所掩盖。掌握 tmux,本质上就是掌握你在 Linux 上的工作环境。



