前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用tmux终端多路复用器

如何使用tmux终端多路复用器

原创
作者头像
吴凌云
发布2018-08-17 14:57:16
2K0
发布2018-08-17 14:57:16
举报
文章被收录于专栏:云计算教程系列

介绍

TMUX是终端多路复用器。类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;是BSD实现的Screen替代品,相对于Screen,它更加先进:支持屏幕切分,而且具备丰富的命令行参数,使其可以灵活、动态的进行各种布局和操作。使用它在您的的腾讯云CVM服务器上创建一个主机服务器,并通过客户端窗口连接到它。如果客户端断开连接,则服务器将继续运行。重新启动计算机或丢失网络连接后重新连接到的腾讯云CVM服务器时,可以重新连接到TMUX会话,并且您正在使用的文件仍将处于打开状态,并且您运行的进程仍将处于活动状态。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

通过将多个会话,窗口和窗格附加到tmux服务器,您可以组织工作流并轻松管理多个任务和流程。

安装tmux

使用您的发行版的软件包管理器安装tmux。

在Debian或Ubuntu系统上:

代码语言:javascript
复制
sudo apt install tmux

从tmux会话中附加和分离

  • 启动tmux时,它会创建一个包含一个窗口和一个窗格的新会话。开始一个新会话:
代码语言:javascript
复制
tmux
  • 您的终端窗口底部应该有一个绿色菜单栏,类似于下面的菜单栏:
  • 从会话中分离:
代码语言:javascript
复制
tmux detach

这将返回基本终端。

会话启动后,只要腾讯云CVM服务器正在运行,或者直到您停止会话,它将继续运行。您可以注销当前会话,然后重新连接到上一个会话。

代码语言:javascript
复制
tmux attach

tmux命令

有三种方法可以向tmux发出命令:

  • 快捷方式:tmux使用所谓的前缀键,默认情况下为CTRL + b。tmux会将前缀后面的按键解释为tmux快捷方式。例如:使用快捷方式从会话中分离:按CTRL + b,同时释放两个键,然后按d
  • 命令模式:按Prefix进入命令模式,然后使用。这将在屏幕底部打开一个命令提示符,它将接受tmux命令。
  • 命令行:也可以在tmux会话中直接将命令输入命令行。通常这些命令以tmux开头。在上一节中所使用的tmux attach命令就是这样类型的例子。

大多数tmux任务可以使用这三种方法中的任何一种来完成。

注意 您可以通过编辑.tmux.config文件来更改前缀密钥。对于本教程的其余部分,前缀将用于指代默认的CTRL + b或您在配置文件中选择的组合。

管理tmux Windows

当tmux会话启动时,默认情况下会创建一个窗口。可以将多个窗口连接到同一会话,并根据需要在它们之间切换。当您想要并行运行多个作业时,这会很有用。

命令

结果

Prefix + c

创建一个新窗口

Prefix + p

切换到上一个窗口

Prefix + n

切换到下一个窗口

Prefix + 0-9

使用索引号切换到窗口

Prefix + w

从交互列表中选择一个窗口

出口

关闭一个窗口

Prefix + &

在无响应的窗口中强制终止所有进程

默认情况下,tmux根据生成它的进程命名每个窗口(最常见的是bash)。要提供更易于记忆和使用的窗口名称,可以使用Prefix +,重命名窗口。

管理tmux Panes

每个窗口可以分为多个窗格。当您希望在单个窗口中显示多个进程的输出时,这非常有用。

命令

结果

Prefix + “

水平拆分活动窗格

Prefix + %

垂直拆分活动窗格

Prefix + 箭头键

切换到另一个窗格

Prefix + ALT +箭头

调整活动窗格的大小

Prefix + z

放大活动窗格。再次按相同的组合可退出缩放模式

出口

关闭活动窗格

Prefix + x

强制在窗格中终止无响应的进程

管理tmux会话

有时甚至多个窗口和窗格都是不够的,您需要通过将布局分组到单独的会话中来逻辑地分离布局。使用Prefix打开命令提示符,然后使用,然后启动一个新会话:

代码语言:javascript
复制
new-session

注意 也可以输入命令的较短版本,例如:“new-se”。但是只有当没有另一个以相同字符串开头的命令时,才有效。

命令

结果

Prefix + (

切换到上一个会话

Prefix + )

切换到下一个会话

Prefix + s

显示交互式会话列表

tmux ls

列出所有可用的会话

tmux attach -t 0

放大活动窗格。再次按相同的组合可退出缩放模式

tmux kill-server

销毁所有会话并终止所有进程

创建tmux配置文件

  • 当你对tmux感到满意时,你可能想要改变一些默认值。使用文本编辑器,在用户的主目录中创建配置文件:
代码语言:javascript
复制
# Uncomment the lines with the options you want to activate (by deleting the preceding "#")
  
# Allow mouse interaction
# set-option -g mouse on
​
# Change prefix key to CTRL+A. "C-" stands for CTRL, "M-" stands for ALT key
# set-option -g prefix C-a
# unbind-key C-b
# bind-key C-a send-prefix
​
# Display CPU load average for the last 1,5 and 15 minutes, in the status bar
  set -g status-right "#(cut -d ' ' -f -3 /proc/loadavg) %H:%M %d-%b-%y"
  • 将更改保存到此文件后,请加载新配置。通过按下输入TMUX命令模式Prefix 然后使用,之后使用下面的命令:
代码语言:javascript
复制
source-file ~/.tmux.conf

启用鼠标选项后,您可以使用指针与tmux窗格,窗口和状态栏进行交互。例如,您可以单击状态栏中的窗口名称切换到该窗口名称,也可以单击并拖动窗格线以调整其大小。

tmux手册中提供了其他配置选项。

更多信息

有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。

想要了解更多关于tmux的教程请前往腾讯云+社区学习更多知识。


更多Linux教程请前往腾讯云+社区学习更多知识。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 安装tmux
  • 从tmux会话中附加和分离
  • tmux命令
  • 管理tmux Windows
  • 管理tmux Panes
  • 管理tmux会话
  • 创建tmux配置文件
  • 更多信息
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档