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

news2024/11/25 5:47:13

        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的更多操作,后续会有相关文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1101586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SSM+Vue的毕业生跟踪调查反馈系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

米哈游、复旦发布,具备感知、大脑、行动的大语言模型“智能体”

ChatGPT等大语言模型展示了前所未有的创造能力,但距AGI(通用人工智能)还有很大的距离,缺少自主决策、记忆存储、规划等拟人化能力。 为了探索大语言模型向AGI演变,进化成超越人类的超级人工智能,米哈游与复…

分治类dp:1017T3

http://cplusoj.com/d/senior/p/SS231017C 感觉可以分治某个区间 [ l , r ] [l,r] [l,r],且他们都是在下面 k k k 已经选的基础上 然后肯定要枚举最大值,最大值越长越好 Hint 1 Hint 2 f ( l , r , k ) f(l, r, k) f(l,r,k) 可以通过枚举 m i d mid…

深入理解强化学习——强化学习智能体的四要素:模型(Model)

分类目录:《深入理解强化学习》总目录 相关文章: 强化学习智能体的四要素:策略(Policy) 强化学习智能体的四要素:收益信号(Revenue Signal) 强化学习智能体的四要素:价…

ubunu 18.04 LTS安装Qt-5.14-2并一起安装Qt Creator

作为初级qt用户,一定下载Qt的.run安装文件。 之前我安装5.15.10版本的源码,安装后一头雾水。 后来,我安装了低一点的版本5.14.2,它含有.run安装文件,比较顺利。 下面记录一下ubunu 18.04 LTS安装Qt-5.14-2并一起安装Q…

基于深度学习的目标检测模型综述

基于深度学习的目标检测模型综述 一 概论目标检测主要挑战评估指标 二 展望 一 概论 目标检测是目标分类的自然延伸,目标分类仅旨在识别图像中的目标。目标检测的目标是检测预定义类的所有实例并通过轴对齐的框提供其在图像中的初略定位。检测器应能够识别所有目标…

Python数据挖掘入门进阶与实用案例:自动售货机销售数据分析与应用

文章目录 写在前面01 案例背景02 分析目标03 分析过程04 数据预处理1. 清洗数据2.属性选择3.属性规约 05 销售数据可视化分析1.销售额和自动售货机数量的关系2.订单数量和自动售货机数量的关系3.畅销和滞销商品4.自动售货机的销售情况5.订单支付方式占比6.各消费时段的订单用户…

乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀

一、前言 qiankun作为微前端的一种融合方式,目前也比较成熟,但是由于各类开发技术选型非常繁多,导致了在项目中配置不同,解决别人的问题,不一定能解决自己的问题。 使用的js框架的不同或版本的不同:vue/r…

手部关键点检测3:Pytorch实现手部关键点检测(手部姿势估计)含训练代码和数据集

手部关键点检测3:Pytorch实现手部关键点检测(手部姿势估计)含训练代码和数据集 目录 手部关键点检测3:Pytorch实现手部关键点检测(手部姿势估计)含训练代码和数据集 1. 前言 2.手部关键点检测(手部姿势估计)方法 (1)Top-Down(自上而下)方法 (2)Bot…

mac虚拟机安装homebrew时的问题

安装了mac虚拟机&#xff0c;结果在需要通过“brew install svn”安装svn时&#xff0c;才注意到没有下载安装homebrew。 于是便想着先安装homebrew&#xff0c;网上查的教程大多是通过类似以下命令 “ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)” 但是都会出现…

防火墙管理工具增强网络防火墙防御

防火墙在网络安全中起着至关重要的作用。现代企业具有多个防火墙&#xff0c;如&#xff1a;电路级防火墙、应用级防火墙和高级下一代防火墙&#xff08;NGFW&#xff09;的复杂网络架构需要自动化防火墙管理和集中式防火墙监控工具来确保边界级别的安全。 网络防火墙安全和日…

STM32F0的TIM1高级定时器(未完待续)

文章目录 1.高级、通用和基本定时器的区别2.TIM1高级定时器介绍2.1 时基单元2.1.1寄存器2.1.2 预分频器2.1.3 计数器2.1.4 重复计数器 2.2 计数时钟2.3 捕捉/比较通道2.3.1 通道结构 输出类型14-12&#xff1a;定时器霍尔传感器配置结构定义 函数14-100 1.高级、通用和基本定时…

探索云原生技术之容器编排引擎-Kubernetes/K8S详解(8)

❤️作者简介&#xff1a;2022新星计划第三季云原生与云计算赛道Top5&#x1f3c5;、华为云享专家&#x1f3c5;、云原生领域潜力新星&#x1f3c5; &#x1f49b;博客首页&#xff1a;C站个人主页&#x1f31e; &#x1f497;作者目的&#xff1a;如有错误请指正&#xff0c;将…

【Python微信机器人】第一篇:在windows11上编译python

前言 我打算写一个系列&#xff0c;内容是将python注入到其他进程实现inline hook和主动调用。本篇文章是这个系列的第一篇&#xff0c;后面用到的案例是注入python到PC微信实现基本的收发消息。文章着重于python方面的内容&#xff0c;所以对于微信找收发消息的call不会去讲过…

挚文集团:股票回购速度、收入指引均不及预期,令投资者失望

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 挚文集团未来将不再公布MAU数据 今年6月初&#xff0c;挚文集团(MOMO)在公布2023年第一季度业绩时透露&#xff0c;“陌陌应用的月活跃用户(MAU)”已经从去年3月的1.109亿下降到了今年3月的1.065亿&#xff0c;同比下降了-…

大数据Hadoop之——部署hadoop+hive+Mysql环境(window11)

一、安装JDK8 【温馨提示】对应后面安装的hadoop和hive版本&#xff0c;这里使用jdk8&#xff0c;这里不要用其他jdk了&#xff0c;可能会出现一些其他问题。 1&#xff09;JDK下载地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html 按正常下载是需要…

【Python语义分割】Segment Anything(SAM)模型交互式分割+掩膜保存(三)

我之前分享了Segment Anything&#xff08;SAM&#xff09;模型的基本操作&#xff0c;这篇给大家分享下交互式语义分割代码&#xff0c;可以通过鼠标点击目标物生成对应的掩膜&#xff0c;同时我还加入了掩膜保存的代码。 1 Segment Anything介绍 1.1 概况 Meta AI 公司的 S…

HarmonyOS 音视频开发概述

在音视频开发指导中&#xff0c;将介绍各种涉及音频、视频播放或录制功能场景的开发方式&#xff0c;指导开发者如何使用系统提供的音视频 API 实现对应功能。比如使用 TonePlayer 实现简单的提示音&#xff0c;当设备接收到新消息时&#xff0c;会发出短促的“滴滴”声&#x…

【API篇】三、转换算子API(上)

文章目录 0、demo数据1、基本转换算子&#xff1a;映射map2、基本转换算子&#xff1a;过滤filter3、基本转换算子&#xff1a;扁平映射flatMap4、聚合算子&#xff1a;按键分区keyBy5、聚合算子&#xff1a;简单聚合sum/min/max/minBy/maxBy6、聚合算子&#xff1a;归约聚合re…

第三章 内存管理 七、具有快表的地址变换结构

目录 一、什么是快表 二、快表有什么用&#xff1f; 例子&#xff1a; 三、快表和慢表同时查询 四、局部性原理 五、总结 一、什么是快表 快表&#xff0c;又称联想寄存器&#xff08;TLB&#xff0c;translation lookaside buffer)&#xff0c;是一种访问速度比内存快很…