当前位置: 首页 > news >正文

终端神器:tmux

安装tmux+简单使用+自己的理解(小白专属)

在这里插入图片描述

使用的初衷
在Linux终端下,由于session(会话)和windows(窗口)是绑定一起的,你打开一个终端的黑窗口就是打开一个会话,如果你关闭了黑窗口,那么你所运行的程序也会关闭。我们在使用SSH远程连接时,希望关闭连接之后,程序仍然运行,等我们下次连接,进入这个会话,就可以继续看到程序的运行状态。因此,我们需要学会如何使用tmux这个工具。

一、基本概念

  • session(会话)
  • windows(窗口)
  • pane (窗格)

这三个名词是使用tmux之前,需要了解的。这里自己画了一张图,可以更清晰的解释三者之间的关系。

图中的意思就是说我们可以创建多个session,一个session可以创建多个窗口,而一个窗口可以打开多个窗格,每个窗格都可以做不同的事情,比如:安装软件,运行程序等等。

在这里插入图片描述

二、常用命令和快捷键

sudo apt-get install tmux    安装
ps aux | grep tmux   查看后台是否启动server进程
tmux   进入tmux中
exit   退出

1.会话

命令
tmux new -s "session name"   创建session
tmux ls   查看session列表
tmux attach -t "session name"   重新接入会话(已经分离过的)
tmux kill-session -t "session name"    杀死会话
tmux switch -t "session name"    切换会话
tmux detach   分离会话
tmux rename-session -t "old name" "new name"
快捷键
Ctrl+b d  分离当前会话
Ctrl+b s  列出所有会话
Ctrl+b $  重命名当前会话

2.窗口

命令
tmux new-window     新建一个窗口
tmux new-window -n "windowname"    新建一个指定名称的窗口
tmux select-window -t "window number"    切换到指定编号的窗口
tmux select-window -t "window name"      切换到指定名称的窗口
tmux rename-window "new name"     重命名窗口
快捷键
Ctrl+b c  创建一个新的窗口,状态栏会显示多个窗口的信息
Ctrl+b p  切换到上一个窗口(按照状态栏上的顺序)
Ctrl+b n  切换到下一个窗口
Ctrl+b <number>  切换到指定编号的窗口
Ctrl+b w  从列表中选择窗口,按上下键进行选择
Ctrl+b ,  窗口重命名

3.窗格

命令
tmux split-window       划分上下两个窗格
tmux split-window -h    划分左右两个窗格
tmux select-pane -U     光标切换到上方窗格
tmux select-pane -D     光标切换到下方窗格
tmux select-pane -L     光标切换到左边窗格
tmux select-pane -R     光标切换到右边窗格
tmux swap-pane -U       当前窗格上移
tmux swap-pane -D       当前窗格下移
快捷键
Ctrl+b %  划分左右两个窗格
Ctrl+b "  划分上下两个窗格
Ctrl+b ;  光标切换到上一个窗格
Ctrl+b o  光标切换到下一个窗格
Ctrl+b x  关闭当前窗格
Ctrl+b !  将当前窗格拆分为一个独立窗口
Ctrl+b z  将当前窗格全屏显示,再使用一次会变回原来的大小
Ctrl+b q  显示窗格编号
Ctrl+b ↑↓→←   切换窗格
在窗格中输入:exit  也可以结束这个窗格

4.其他

tmux list-keys       列出所有快捷键,及其对应的 Tmux 命令
tmux list-commands   列出所有 Tmux 命令及其参数
tmux info            列出当前所有 Tmux 会话的信息
tmux source-file ~/.tmux.conf 

三、简易操作流程

1.新建会话:tmux new -s session_12.在tmux窗口运行所需的程序3.输入:tmux detach  将会话分离4.下次使用时,重新连接到会话:tmux attach -t session_1

希望对各位朋友有所帮助,如果有错误的地方,请见谅。

如果需要这篇文章的pdf版本,请在公众号“冬天的李同学”中回复“2023.11.14”

四、参考

1.https://blog.csdn.net/CSSDCC/article/details/121231906

2.https://www.bilibili.com/video/BV1ML411h7tF?t=683.4

3.https://www.bilibili.com/video/BV1da4y1p7e1?t=240.0

4.https://www.ruanyifeng.com/blog/2019/10/tmux.html

相关文章:

终端神器:tmux

安装tmux简单使用自己的理解&#xff08;小白专属&#xff09; 使用的初衷&#xff1a; 在Linux终端下&#xff0c;由于session&#xff08;会话&#xff09;和windows&#xff08;窗口&#xff09;是绑定一起的&#xff0c;你打开一个终端的黑窗口就是打开一个会话&#xff0c…...

Elasticsearch学习(一)

ElasticSearch学习&#xff08;一&#xff09; 1 什么是Elasticsearch 1.什么是搜索&#xff1f; 百度&#xff1a;我们比如说想找寻任何信息时候就会上百度上搜索一下 比如说&#xff1a;电影、图片、小说等等…&#xff08;提到搜索的第一印象&#xff09; 百度 &#x…...

CSS3的常见边框汇总

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>CSS3 边框</title><style>body, ul, li, dl, dt, dd, h1, h2, h3, h4, h5 {margin: 0;padding: 0;}body {background-color: #F7F7F7;}.wr…...

酷柚易汛ERP-购货订单操作指南

1、应用场景 先下购货订单&#xff0c;收货入库后生成购货单。 2、主要操作 2.1 新增购货订单 打开【购货】-【购货订单】新增购货订单。&#xff08;*为必填项&#xff0c;其他为选填&#xff09; ① 录入供应商&#xff1a;点击供应商字段框的 &#xff0c;在弹框中选择供…...

【数据仓库】数仓分层方法详解与层次调用规范

文章目录 一. 数仓分层的意义1. 清晰数据结构。2. 减少重复开发3. 方便数据血缘追踪4. 把复杂问题简单化5. 屏蔽原始数据的异常6. 数据仓库的可维护性 二. 如何进行数仓分层&#xff1f;1. ODS层2. DW层2.1. DW层分类2.2. DWD层2.3. DWS 3. ADS层 4、层次调用规范 一. 数仓分层…...

记一次线上问题引发的对 Mysql 锁机制分析

背景 最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题&#xff0c;当时从监控可以看到数据库活跃连接数飙升&#xff0c;导致应用层数据库连接池被打满&#xff0c;后续所有请求都因获取不到连接而失败 整体业务代码精简逻辑如下&#xff1a; Transaction p…...

Android 工厂模式距离传感器逻辑优化

Android 工厂模式距离传感器逻辑优化 接到客户反馈提到距离传感器校准完毕之后&#xff0c;每次测试完成界面都会弹出“请点击校准按钮进行校准&#xff01;”Toast弹窗&#xff0c;需要对弹窗的显示逻辑进行优化&#xff0c;即只让其在首次进入距离传感器测试界面时弹出&#…...

Dell笔记本电脑 启动时提示解决

https://www.dell.com/support/kbdoc/en-us/000139731/what-the-headless-operation-mode-active-post-message-means-and-how-to-stop-it-appearing-during-start-up dell官方解释&#xff1a; 提示来自于BIOS/UEFI固件中POST Behaviar&#xff0c;只要打开了忽略警告、错误…...

【人工智能Ⅰ】7-KNN 决策树

【人工智能Ⅰ】7-KNN & 决策树 7-1 KNN&#xff08;K near neighbour&#xff09; 思想&#xff1a;一个样本与数据集中的k个样本最相似&#xff0c;若这k个样本大多数属于某类别&#xff0c;则该个样本也属于这类别 距离度量 样本相似性用欧氏距离定义 L p ( x i , x…...

【LeetCode】26. 删除有序数组中的重复项

26. 删除有序数组中的重复项 难度&#xff1a;简单 题目 给你一个 非严格递增排列 的数组 nums &#xff0c;请你原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素…...

K8S知识点(八)

&#xff08;1&#xff09;实战入门-Label 通过标签实现Pod的区分&#xff0c;说白了就是一种标签选择机制 可以使用命令是否加了标签&#xff1a; 打标签&#xff1a; 更新标签&#xff1a; 筛选标签&#xff1a; 修改配置文件&#xff0c;重新创建一个pod 筛选&#xff1…...

25.4 MySQL 函数

1. 函数的介绍 1.1 函数简介 在编程中, 函数是一种组织代码的方式, 用于执行特定任务. 它是一段可以被重复使用的代码块, 通常接受一些输入(参数)然后返回一个输出. 函数可以帮助开发者将大型程序分解为更小的, 更易于管理的部分, 提高代码的可读性和可维护性.函数在编程语言…...

Unity 下载Zip压缩文件并且解压缩

1、Unity下载Zip压缩文件主要使用UnityWebRequest类。 可以参考以下方法&#xff1a; webRequest UnityWebRequest.Get(Path1); //压缩文件路径webRequest.timeout 60;webRequest.downloadHandler new DownloadHandlerBuffer();long fileSize GetLocalFileSize(Path2); …...

c++11新特性篇-委托构造函数和继承构造函数

C11引入了委托构造函数&#xff08;Delegating Constructor&#xff09;和C11及后续标准引入了继承构造函数&#xff08;Inheriting Constructor&#xff09;两个特性。 1.委托构造函数 委托构造函数是C11引入的一个特性&#xff0c;它允许一个构造函数调用同一类的另一个构造…...

Flink SQL处理回撤流(Retract Stream)案例

Flink SQL支持处理回撤流&#xff08;Retract Stream&#xff09;&#xff0c;下面是一个使用Flink SQL消费回撤流的案例&#xff1a; 假设有一个数据流&#xff0c;包含用户的姓名和年龄&#xff0c;希望计算每个姓名的年龄总和。 以下是示例代码&#xff1a; // 创建流执行…...

6.5.事件图层(MapEventsOverlay)

愿你出走半生,归来仍是少年&#xff01; 简单来说就是一个不参与绘制但是可进行交互的图层&#xff0c;它具备了单击和长按的交互功能。 booleanonSingleTapConfirmed(MotionEvent e, MapView mapView)booleanonLongPress(MotionEvent e, MapView mapView) 通过继承它重写上方…...

供暖系统如何实现数据远程采集?贝锐蒲公英高效实现智慧运维

山西某企业专注于暖通领域&#xff0c;坚持为城市集中供热行业和楼宇中央空调行业提供全面、专业的“智慧冷暖”解决方案。基于我国供热行业的管理现状&#xff0c;企业成功研发并推出了可将能源供应、管理与信息化、自动化相融合的ICS-DH供热节能管理系统。 但是&#xff0c;由…...

Flutter笔记:关于Flutter中的大文件上传(上)

Flutter笔记 关于Flutter中的大文件上传&#xff08;上&#xff09; 大文件上传背景与 Flutter 端实现文件分片传输 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#…...

腾讯云CVM服务器5年可选2核4G和4核8G配置

腾讯云服务器网整理五年云服务器优惠活动 txyfwq.com/go/txy 配置可选2核4G和4核8G&#xff0c;公网带宽可选1M、3M或5M&#xff0c;系统盘为50G高性能云硬盘&#xff0c;标准型S5实例CPU采用主频2.5GHz的Intel Xeon Cascade Lake或者Intel Xeon Cooper Lake处理器&#xff0c;…...

数据结构:反射

基本概念 反射中的四个类 Class类 Java文件在被编译之后&#xff0c;生成了.class文件&#xff0c;JVM此时解读.class文件&#xff0c;将其解析为java.lang.Class 对象&#xff0c;在程序运行时每个java文件就最终变成了Class类对象的一个实例。通过反射机制应用这个 实例就…...

45 深度学习(九):transformer

文章目录 transformer原理代码的基础准备位置编码Encoder blockmulti-head attentionFeed Forward自定义encoder block Deconder blockEncoderDecodertransformer自定义loss 和 学习率mask生成函数训练翻译 transformer 这边讲一下这几年如日中天的新的seq2seq模式的transform…...

java中用javax.servlet.ServletInputStream.readLine有什么安全问题吗?怎么解决实例?

使用 javax.servlet.ServletInputStream.readLine 方法在处理 Servlet 请求时可能存在以下安全问题&#xff0c;以及相应的解决方案&#xff1a; 缓冲区溢出&#xff1a;readLine 方法会将数据读取到一个缓冲区中&#xff0c;并根据换行符分隔成行。如果输入流中包含过长的行或…...

面试官问 Spring AOP 中两种代理模式的区别?很多面试者被问懵了

面试官问 Spring AOP 中两种代理模式的区别?很多初学者栽了跟头&#xff0c;快来一起学习吧&#xff01; 代理模式是一种结构性设计模式。为对象提供一个替身&#xff0c;以控制对这个对象的访问。即通过代理对象访问目标对象&#xff0c;并允许在将请求提交给对象前后进行一…...

MQ四大消费问题一锅端:消息不丢失 + 消息积压 + 重复消费 + 消费顺序性

RabbitMQ-如何保证消息不丢失 生产者把消息发送到 RabbitMQ Server 的过程中丢失 从生产者发送消息的角度来说&#xff0c;RabbitMQ 提供了一个 Confirm&#xff08;消息确认&#xff09;机制&#xff0c;生产者发送消息到 Server 端以后&#xff0c;如果消息处理成功&#xff…...

Python爬虫——入门爬取网页数据

目录 前言 一、Python爬虫入门 二、使用代理IP 三、反爬虫技术 1. 间隔时间 2. 随机UA 3. 使用Cookies 四、总结 前言 本文介绍Python爬虫入门教程&#xff0c;主要讲解如何使用Python爬取网页数据&#xff0c;包括基本的网页数据抓取、使用代理IP和反爬虫技术。 一、…...

爬虫,TLS指纹 剖析和绕过

当你欲爬取某网页的信息数据时&#xff0c;发现通过浏览器可正常访问&#xff0c;而通过代码请求失败&#xff0c;换了随机ua头IP等等都没什么用时&#xff0c;有可能识别了你的TLS指纹做了验证。 解决办法&#xff1a; 1、修改 源代码 2、使用第三方库 curl-cffi from curl…...

Linux shell编程学习笔记25:tty

1 tty的由来 在 1830 年代和 1840 年代&#xff0c;开发了称为电传打字机&#xff08;teletypewriters&#xff09;的机器&#xff0c;这些机器可以将发件人在键盘上输入的消息“沿着线路”发送在接收端并打印在纸上。 电传打字机的名称由teletypewriters&#xff0c; 缩短为…...

AIGC大模型-初探

大语⾔模型技术链 1. ⾃然语⾔处理 2. 神经⽹络 3. ⾃注意⼒机制 4. Transformer 架构 5. 具体模型 - GPT6. 预训练&#xff0c;微调 7. ⼤模型应⽤ - LangChain 大语⾔模型有什么用&#xff1f; 利⽤⼤语⾔模型帮助我们理解⼈类的命令&#xff0c;从⽽处理⽂本分析…...

Postman for Mac(HTTP请求发送调试工具)v10.18.10官方版

Postman for mac是一个提供在MAC设备上功能强大的开发&#xff0c;监控和测试API的绝佳工具。非常适合开发人员去使用。此版本通过Interceptor添加了对请求捕获的支持&#xff0c;修正了使用上下文菜单操作未复制响应正文的问题和预请求脚本的垂直滚动条与自动完成下拉列表重叠…...

SpringBoot 项目优雅实现读写分离 | 京东云技术团队

一、读写分离介绍 当使用Spring Boot开发数据库应用时&#xff0c;读写分离是一种常见的优化策略。读写分离将读操作和写操作分别分配给不同的数据库实例&#xff0c;以提高系统的吞吐量和性能。 读写分离实现主要是通过动态数据源功能实现的&#xff0c;动态数据源是一种通过…...