Tmux:终端复用器的基本使用(一)

2023-10-17 18:20

本文主要是介绍Tmux:终端复用器的基本使用(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        tmux(也称为终端多路复用器)是一个强大的终端工具,旨在提高终端用户的工作效率。它允许用户在一个终端窗口内创建多个会话和窗格,从而轻松地在一个屏幕上同时运行多个终端应用程序。tmux 的目标是将多个终端会话和任务组织在一个简单的界面中,以便用户可以更高效地管理和切换它们,而不必打开多个终端窗口。

        tmux内有多个层级,分别是tmux服务器(server)、tmux客户端(client)、会话(session)、窗口(window)、窗格(pane)。客户端即相当于linux中的终端、用户可以通过客户端连接到服务器(更具体地来说,是连接到服务器上的会话)。

        使用以下任意一种命令可以创建一个新的会话并将当前客户端连接到这个会话,下面的在tmux内部和外部指的是是否连接到了tmux服务器。

创建一个默认命名的会话,里面附带一个默认的窗口和窗格并连接到它们
$tmux                 //在tmux外部使用
$tmux new             //在tmux外部使用
$tmux new-session     //在tmux外部使用
:new                  //在tmux内部使用[ctrl]+b+:进入命令模式

        使用上述命令后,可以看到如下图所示的界面。

        可以看到除了下面多了一行状态信息,其他与普通的shell没有差别,这就是tmux作为终端复用器的由来。其中的[1]表示当前连接到的会话名(创建会话不指定名时,默认从0开始依次递增),0:表示当前在窗口0内,zsh表示当前窗格的进程名称,最后的*标志了当前处于的窗口和窗格。

        在tmux内,有些命令有特定的快捷键,由前缀键+命令键组成,前缀键默认为[ctlr]+b。比如上面谈到的:new就是使用[ctlr]+b+:进入命令模式并输入new完成的。

        下面的命令用于创建一个名字是mysession的会话并连接到它。

创建一个指定命名的会话,里面附带一个默认的窗口和窗格并连接到它们
$tmux new -s mysession     //在tmux外部使用
:new -s mysession          //在tmux内部使用[ctrl]+b+:进入命令模式
[ctrl]+b+s                 //在tmux内部使用

        例如,我可以创建一个名字叫test的会话并连接到它,如下图所示。

        显示服务器上的所有会话是很重要的,它可以用以下命令完成。

$tmux ls                //在tmux内部和外部均可使用
$tmux list-sessions     //在tmux内部和外部均可使用

       继续之前的例子,我们使用命令可以看到有两个会话,并且每个会话有几个窗口,以及会话的创建时间,如下图所示。

 

        那么如果我不想要一个会话了,如何删除它呢?以下是几种方法,但需要注意的是,如果删除了一个会话,那么所有连接到该会话的用户都会退出。

$tmux kill-session                 //在tmux内部使用则删除当前连接的会话,在tmux外部使用则删除最后连接的会话
$tmux kill-ses                     //在tmux内部使用则删除当前连接的会话,在tmux外部使用则删除最后连接的会话
$tmux kill-ses -t mysession        //在tmux内部和外部均可使用,指定删除名字为mysession的会话
$tmux kill-session -t mysession    //在tmux内部和外部均可使用,指定删除名字为mysession的会话
$tmux kill-session -a              //在tmux内部使用则删除除当前连接的会话外的所有会话,在tmux外部使用则删除除最后连接的会话外的所有会话
$tmux kill-session -a -t mysession //在tmux内部和外部均可使用,删除除名字为mysession的会话外所有会话

        如果创建会话时是默认名字,后面依旧可以重命名,如下所示。需要注意的是更改后的会话名不能与现有名字冲突。

$tmux rename-session -t old_session_name new_session_name //在tmux内部和外部均可使用
[ctrl]+b+$                                                //在tmux内部使用

        如果我不想删除会话,只是想暂时把其放回后台即断开连接,此时使用的命令如下所示。注意,这不会影响会话中进程的执行。

$tmux detach-client      //在tmux内部使用,断开与当前会话的连接
[ctrl]+b+d               //在tmux内部使用,断开与当前会话的连接
[ctrl]+b+D               //在tmux内部使用,选择一个客户,断开其连接的会话

        当你想重新连接会话时,也有几种命令可以使用,如下所示。

$tmux a                    //在tmux外部使用,连接最后连接的会话
$tmux at                   //在tmux外部使用,连接最后连接的会话
$tmux attach               //在tmux外部使用,连接最后连接的会话
$tmux attach-session       //在tmux外部使用,连接最后连接的会话$tmux a -t mysession                    //在tmux外部使用,连接名字为mysession的会话
$tmux at -t mysession                   //在tmux外部使用,连接名字为mysession的会话
$tmux attach -t mysession               //在tmux外部使用,连接名字为mysession的会话
$tmux attach-session -t mysession       //在tmux外部使用,连接名字为mysession的会话

        当你想在不同的会话之间切换,可以使用以下的命令。

[ctrl]+b+(                                //在tmux内部使用,连接到上一个会话
[ctrl]+b+)                                //在tmux内部使用,连接到下一个会话
tmux switch-client -t target_session_name //在tmux内部使用,连接到名字为target_session_name的会话

        以上就是tmux中常用的和会话有关的使用说明 ,关于tmux的更多操作,后续会有相关文章。

这篇关于Tmux:终端复用器的基本使用(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/227161

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

使用Python绘制可爱的招财猫

《使用Python绘制可爱的招财猫》招财猫,也被称为“幸运猫”,是一种象征财富和好运的吉祥物,经常出现在亚洲文化的商店、餐厅和家庭中,今天,我将带你用Python和matplotlib库从零开始绘制一... 目录1. 为什么选择用 python 绘制?2. 绘图的基本概念3. 实现代码解析3.1 设置绘图画