终端神器: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简单使用自己的理解(小白专属) 使用的初衷: 在Linux终端下,由于session(会话)和windows(窗口)是绑定一起的,你打开一个终端的黑窗口就是打开一个会话,…...
Elasticsearch学习(一)
ElasticSearch学习(一) 1 什么是Elasticsearch 1.什么是搜索? 百度:我们比如说想找寻任何信息时候就会上百度上搜索一下 比如说:电影、图片、小说等等…(提到搜索的第一印象) 百度 &#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、应用场景 先下购货订单,收货入库后生成购货单。 2、主要操作 2.1 新增购货订单 打开【购货】-【购货订单】新增购货订单。(*为必填项,其他为选填) ① 录入供应商:点击供应商字段框的 ,在弹框中选择供…...
【数据仓库】数仓分层方法详解与层次调用规范
文章目录 一. 数仓分层的意义1. 清晰数据结构。2. 减少重复开发3. 方便数据血缘追踪4. 把复杂问题简单化5. 屏蔽原始数据的异常6. 数据仓库的可维护性 二. 如何进行数仓分层?1. ODS层2. DW层2.1. DW层分类2.2. DWD层2.3. DWS 3. ADS层 4、层次调用规范 一. 数仓分层…...
记一次线上问题引发的对 Mysql 锁机制分析
背景 最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败 整体业务代码精简逻辑如下: Transaction p…...
Android 工厂模式距离传感器逻辑优化
Android 工厂模式距离传感器逻辑优化 接到客户反馈提到距离传感器校准完毕之后,每次测试完成界面都会弹出“请点击校准按钮进行校准!”Toast弹窗,需要对弹窗的显示逻辑进行优化,即只让其在首次进入距离传感器测试界面时弹出&#…...
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官方解释: 提示来自于BIOS/UEFI固件中POST Behaviar,只要打开了忽略警告、错误…...
【人工智能Ⅰ】7-KNN 决策树
【人工智能Ⅰ】7-KNN & 决策树 7-1 KNN(K near neighbour) 思想:一个样本与数据集中的k个样本最相似,若这k个样本大多数属于某类别,则该个样本也属于这类别 距离度量 样本相似性用欧氏距离定义 L p ( x i , x…...
【LeetCode】26. 删除有序数组中的重复项
26. 删除有序数组中的重复项 难度:简单 题目 给你一个 非严格递增排列 的数组 nums ,请你原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素…...
K8S知识点(八)
(1)实战入门-Label 通过标签实现Pod的区分,说白了就是一种标签选择机制 可以使用命令是否加了标签: 打标签: 更新标签: 筛选标签: 修改配置文件,重新创建一个pod 筛选࿱…...
25.4 MySQL 函数
1. 函数的介绍 1.1 函数简介 在编程中, 函数是一种组织代码的方式, 用于执行特定任务. 它是一段可以被重复使用的代码块, 通常接受一些输入(参数)然后返回一个输出. 函数可以帮助开发者将大型程序分解为更小的, 更易于管理的部分, 提高代码的可读性和可维护性.函数在编程语言…...
Unity 下载Zip压缩文件并且解压缩
1、Unity下载Zip压缩文件主要使用UnityWebRequest类。 可以参考以下方法: webRequest UnityWebRequest.Get(Path1); //压缩文件路径webRequest.timeout 60;webRequest.downloadHandler new DownloadHandlerBuffer();long fileSize GetLocalFileSize(Path2); …...
c++11新特性篇-委托构造函数和继承构造函数
C11引入了委托构造函数(Delegating Constructor)和C11及后续标准引入了继承构造函数(Inheriting Constructor)两个特性。 1.委托构造函数 委托构造函数是C11引入的一个特性,它允许一个构造函数调用同一类的另一个构造…...
Flink SQL处理回撤流(Retract Stream)案例
Flink SQL支持处理回撤流(Retract Stream),下面是一个使用Flink SQL消费回撤流的案例: 假设有一个数据流,包含用户的姓名和年龄,希望计算每个姓名的年龄总和。 以下是示例代码: // 创建流执行…...
6.5.事件图层(MapEventsOverlay)
愿你出走半生,归来仍是少年! 简单来说就是一个不参与绘制但是可进行交互的图层,它具备了单击和长按的交互功能。 booleanonSingleTapConfirmed(MotionEvent e, MapView mapView)booleanonLongPress(MotionEvent e, MapView mapView) 通过继承它重写上方…...
供暖系统如何实现数据远程采集?贝锐蒲公英高效实现智慧运维
山西某企业专注于暖通领域,坚持为城市集中供热行业和楼宇中央空调行业提供全面、专业的“智慧冷暖”解决方案。基于我国供热行业的管理现状,企业成功研发并推出了可将能源供应、管理与信息化、自动化相融合的ICS-DH供热节能管理系统。 但是,由…...
Flutter笔记:关于Flutter中的大文件上传(上)
Flutter笔记 关于Flutter中的大文件上传(上) 大文件上传背景与 Flutter 端实现文件分片传输 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址&#…...
腾讯云CVM服务器5年可选2核4G和4核8G配置
腾讯云服务器网整理五年云服务器优惠活动 txyfwq.com/go/txy 配置可选2核4G和4核8G,公网带宽可选1M、3M或5M,系统盘为50G高性能云硬盘,标准型S5实例CPU采用主频2.5GHz的Intel Xeon Cascade Lake或者Intel Xeon Cooper Lake处理器,…...
数据结构:反射
基本概念 反射中的四个类 Class类 Java文件在被编译之后,生成了.class文件,JVM此时解读.class文件,将其解析为java.lang.Class 对象,在程序运行时每个java文件就最终变成了Class类对象的一个实例。通过反射机制应用这个 实例就…...
CentOS 7 服务器环境部署 Pixel Dream Workshop:针对企业级生产的配置
CentOS 7 服务器环境部署 Pixel Dream Workshop:针对企业级生产的配置 1. 前言:为什么选择这个方案 如果你正在寻找一个稳定可靠的企业级AI图像生成解决方案,Pixel Dream Workshop在CentOS 7上的部署可能是你的理想选择。作为运维工程师&am…...
【Butterfly库OpenHarmony实战使用教程】|NAPI封装+Native C API调用+真机运行
🚀Butterfly库OpenHarmony实战使用教程|NAPI封装Native C API调用真机运行 大家好,我是InMainJhy,一名在上海读本科的大一学生🎒。本篇严格按照鸿蒙三方库征文要求创作,基于NAPI封装Native C API࿰…...
OpenClaw学习助手:Qwen3-4B自动整理技术文档实战
OpenClaw学习助手:Qwen3-4B自动整理技术文档实战 1. 为什么需要AI文档整理助手 作为一个经常需要阅读大量技术文档的开发者,我发现自己长期陷入"收集-遗忘-重复阅读"的恶性循环。PDF里的关键知识点总是淹没在几十页的细节中,手动…...
应急响应靶机练习-Web2
一、靶机介绍这个靶机主要是通过暴力破解ftp,获取ftp账号后上传了php shell,获取shell后创建后门用户,以及做了一些端口转发操作。靶机采用phpstudy,开启了ftp和web服务,但是要注意的是,一旦ftp开启&#x…...
OpenClaw云端体验:星图平台一键部署Kimi-VL-A3B-Thinking镜像
OpenClaw云端体验:星图平台一键部署Kimi-VL-A3B-Thinking镜像 1. 为什么选择云端体验OpenClaw 作为一个长期折腾本地AI部署的技术爱好者,我深知在个人电脑上配置OpenClaw的痛处。从Python环境冲突到CUDA版本不兼容,每次安装都像在拆解一颗定…...
FUXA SVG编辑器元素管理功能优化:从问题发现到价值验证
FUXA SVG编辑器元素管理功能优化:从问题发现到价值验证 【免费下载链接】FUXA Web-based Process Visualization (SCADA/HMI/Dashboard) software 项目地址: https://gitcode.com/gh_mirrors/fu/FUXA FUXA作为一款开源的Web-based工业自动化HMI/SCADA系统&am…...
Gson序列化LocalDateTime的3种方案对比:原生支持vs自定义适配器vs第三方库
Gson序列化LocalDateTime的3种方案对比:原生支持vs自定义适配器vs第三方库 在Java生态中,时间日期处理一直是个让人头疼的问题。特别是当你需要将LocalDateTime这样的现代时间类型通过Gson进行JSON序列化时,往往会遇到各种兼容性问题。作为一…...
MAA助手跨平台部署与自动化实践指南
MAA助手跨平台部署与自动化实践指南 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://gitcode.com/GitHub_Trending/ma/…...
整流器模型预测控制mpc仿真三相三电平npc型整流器有限集模 整流器模型预测控制mpc仿真三相...
整流器模型预测控制mpc仿真三相三电平npc型整流器有限集模整流器模型预测控制mpc仿真三相三电平npc型整流器有限集模型预测控制fcs-mps,控制目标为跟踪电流和中点电位平衡,有参考文献文章:标题:整流器模型预测控制(MPC…...
HuggingFace Transformers库中Tokenizer与Model的高效实践指南
1. 为什么Tokenizer和Model是NLP项目的基石 第一次接触HuggingFace Transformers库时,我被Tokenizer和Model这两个组件的配合方式惊艳到了。想象一下,Tokenizer就像一位专业的翻译官,把人类能看懂的文字转换成计算机能理解的数字密码…...
