Linux下的tmux的使用

news2024/9/24 11:25:40

0.前言

您好,这里是limou3434,本次我将给您带来Linux下tmux的使用。

如果您感兴趣也可以看看我的其他内容。

1.tmux的基础概念

tmux是一款在Linux里运行在终端上的软件,可以使得终端具有强大的多任务管理功能(以下是在Ubuntu环境下的tmux终端演示)。
在这里插入图片描述

2.tmux的安装指令

tmux原生支持于Linux,tmux的安装很简单,看好自己的Linux系统使用不同的安装指令,这里只列出两种不同环境的安装。

sudo apt-get install tmux    # 对于基于Debian的系统(如Ubuntu) 
sudo yum install tmux        # 对于基于RHEL的系统(如CentOS)

输入您的账户密码即可,注意只有被root添加到信任列表内,才可以使用sudo指令(运行指令时,短暂提升成root级别来运行)。或者您也可以切换到root身份直接进行下载。

3.tmux的基本操作

会话列表和窗口列表是tmux中两个不同的概念,它们用于管理和组织你的工作环境。

1.会话列表: 会话是tmux的最高层级概念,用于容纳窗口和面板。每个会话都是一个独立的工作环境,可以包含多个窗口和面板。会话列表显示了当前存在的所有tmux会话。命令“tmux ls”可以列出所有会话及其状态和名称等信息。会话具有唯一的ID和可选的名称。

2.窗口列表: 窗口是会话中的子元素,用于在同一会话中的不同任务之间切换。每个窗口相当于一个独立的工作区域,可以运行各种命令和应用程序。窗口列表显示了特定会话中的所有窗口。命令“Ctrl+b”+“w”可以打开窗口列表。窗口具有唯一的编号和可选的名称。

3.会话和窗口和分屏的关系: 用户可以创建多个会话,一个会话可以承载多个窗口,一个窗口可以被分割为多个分屏。

3.1.窗口(windows)管理

3.1.1.分割窗口

  1. “Ctrl+b”然后按“%”:垂直分割当前窗口
  2. “Ctrl+b”然后按“"”:水平分割当前窗口
  3. “Ctrl+b”然后按“方向键”:在不同的分屏之间切换焦点
  4. “Ctrl+b”然后按“q”:显示分屏序号

3.1.2.操作窗口

  1. “Ctrl+b”然后按“c”:可以创建新的窗口
  2. “Ctrl+b”然后按“x”:关闭当前窗口,然后会提示是否杀死窗口
  3. “Ctrl+b”然后按“p”:切换到上一个窗口
  4. “Ctrl+b”然后按“n”:切换到下一个窗口
  5. “Ctrl+b”然后按“;”:切换到上一个使用的分屏
  6. “Ctrl+b”然后按“l”:切换到最后一个使用的窗
  7. “Ctrl+b”然后按“0-9的数字序列”:则可以切换到指定编号的窗口
  8. “Ctrl+b”然后按“w”:可以打开窗口列表,窗口具有唯一的编号和可选的名称

在切换的时候就会发现,当前所在的窗口带有*号,上一次所在的窗口带有“-”

3.2.会话(session)管理

  1. 创建会话:使用命令“tmux new-session -s <会话名称>”可以创建一个新的会话。

如果会话没有指定名称,则会自动生成一个唯一的会话ID,可以在“tmux ls”的输出中找到

  1. 查看会话:运行命令 tmux ls 来列出当前所有的 tmux 会话
  2. 分离会话:“Ctrl+b”然后按“d”可以分离当前会话,此时就会暂时退出tmux回到终端界面,这个时候即使是退出终端,tmux依旧会保留之前的会话记录。

如果会话处于分离状态,但终端窗口已关闭,你可以打开一个新的终端窗口并运行“tmux attach-session”命令来恢复会话。

  1. 恢复会话:使用命令“tmux attach-session -t <会话名称或ID>”来恢复被分离的会话。例如,如果会话名称是“my_session”,则可以运行命令“tmux attach-session -t my_session”来恢复它。如果目前只有一个tmux会话,可以直接运行命令“tmux attach”来恢复默认的会话。

如果会话仍处于活动状态(没有被分离),你无法使用“attach-session”命令来恢复会话

  1. 销毁会话:使用命令“tmux kill-session -t <会话名称或ID>”销毁对应会话。不过,最好先查看当前存在的tmux会话列表再进行销毁。然后tmux会提示你是否确认销毁会话。在提示中,输入“y”或 “yes”来确认销毁会话。

销毁会话将永久删除会话及其所有的窗口和面板,无法恢复,请确保你要销毁的是正确的会话。

3.3.其他操作

  1. “Ctrl+b”然后按“?”:显示tmux帮助
  2. “Ctrl+b”然后按“:”:进入命令模式
  3. “Ctrl+b”然后按“,”:重命名当前窗口
  4. “Ctrl+b”然后按“$”:重命名当前会话
  5. “Ctrl+b”然后按“f”:则可以在窗口中搜索文本
  6. 在tmux内部可以直接使用“exit”指令来直接杀死分屏,如果没有分屏可以杀死了,就会删除窗口(windows),如果没有窗口可以杀死了,就会杀死会话。因此可以看出:连续的exit可以达到完全杀死tmux的任何操作。

4.tmux的基础配置(未完)

配置文件可以放在两个地方

  1. 一个是“~/.tmux.conf”,它存储在用户的主目录中,如果不存在可以手动创建一个
  2. 另一个是“~/.config/tmux/”,如果不存在可以手动创建一个

这个我想以后再出一篇博文专门讲解(因为我也是刚刚玩这个玩意),网上其实还有挺多相关配置的。

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

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

相关文章

如何做好迭代回顾 1/4

迭代回顾(Retrospective)、二八原则、五个“为什么”(5 Why)、以数据说话、三点估算(PERT)等&#xff0c;大家都可能听过&#xff0c;在网上也能找到相关理论知识&#xff0c;但很多软件开发团队自以为了解&#xff0c;但其实是有误解。“如何做好迭代回顾”会利用一些实际团队…

Linux Mint 21.2 “Victoria “的测试版即将到来

导读Linux Mint 21.2 “Victoria “几乎已经准备就绪&#xff0c;主要开发者Clement Lefebvre证实&#xff0c;开发周期已经结束&#xff0c;这意味着测试版应该很快就会到来。 Linux Mint 21.2是Linux Mint 21系列的第二次更新&#xff0c;它基于Ubuntu 22.04 LTS&#xff08;…

Mybatis源码篇:Mybatis初始化过程分析

文章目录 1. Mybatis初始化过程简述2. Mybatis初始化源码分析2.1 Mybatis初始化时序图2.2 源码分析2.2.1 SqlSessionFactoryUtil测试类代码2.2.2 SqlSessionFactoryBuilder源码2.2.3 XMLConfigBuilder源码2.2.4 SqlSessionFactory相关属性2.2.5 SqlSession相关属性 3. 总结4. 使…

2:PCIe Header配置空间

目录 1.概述 2.Header Type0 2.1 HeaderType字段 2.2 Class寄存器 2.3 Cache Line Size 寄存器 2.4 Subsystem ID 和 Subsystem Vendor ID 寄存器 2.5 Capabilities Pointer 寄存器 2.6 Interrupt Line 寄存器 2.7 Interrupt Pin 寄存器 2.8 Base Address Registe…

el-select如何不显示value,显示value对应的label值

文章目录 select 显示如下发生错误的原因 select 显示如下 el-select在编辑调用的时候一直显示的不是label值&#xff0c;而是本身的value值。尝试了很多种方法&#xff0c;都没有解决。 正常的形式 错误的形式 发生错误的原因 显示不正常&#xff0c;多数是由于得到的数据…

人工智能期末复习(背题家的落幕)

文章目录 一、前言二、选择题&#xff08;10 X 2&#xff09;1、补充2、第一梯队⭐⭐⭐3、第二梯队⭐⭐4、第三梯队⭐ 三、判断题&#xff08;10 X 1&#xff09;1、错误的2、正确的 四、程序填空题&#xff08;10 X 3&#xff09;1、tensorflow搭建模型2、keras模型编译3、Pyt…

AI智慧安监视频融合平台EasyCVR播放HLS流出现报错404是什么原因?

EasyCVR平台支持多协议与多类型设备接入&#xff0c;具体包括国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等&#xff0c;能对外分发RTMP、RTSP、HTTP-FLV、WS-FLV、HLS、WebRTC等。平台既具备传统安防视频监控的能力&#xff0c;也能接入AI智能分析的…

【强化学习】什么是“强化学习”

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

MySQL的存储过程

MySQL 一、存储过程的概念存储过程的优点 二、创建简单的存储过程三、存储过程的参数IN 输入参数OUT 输出参数INOUT 输入输出参数 四、删除存储过程五、存储过程的控制语句条件语句循环语句 一、存储过程的概念 存储过程是一组为了完成特定功能的SQL语句。 存储过程再使用过程…

安装rabbitmqctl问题

RabbitMQ Server 311.18 Setup bat start xited with code 1. 主要对应得erlang版本不对&#xff08;注意 安装过程中一定要对应指定版本&#xff0c;尽量装低一版本&#xff0c;并且erlang选择中间版本&#xff09; RabbitMQ Erlang Version Requirements — RabbitMQ

adb shell后,getevent退出方法

adb shell后&#xff0c;getevent退出方法 输入 exit 然后回车退出

使用 Debian、Docker 和 Nginx 部署 Web 应用

前言 本文将介绍基于 Debian 的系统上使用 Docker 和 Nginx 进行 Web 应用部署的过程。着重介绍了 Debian、Docker 和 Nginx 的安装和配置。 第 1 步&#xff1a;更新和升级 Debian 系统 通过 SSH 连接到服务器。更新软件包列表&#xff1a;sudo apt update升级已安装的软件…

pointNet训练预测自己的数据集Charles版本(二)

之前博客介绍了如何跑通charles版本的pointNet&#xff0c;这篇介绍下如何来训练和预测自己的数据集&#xff0c;介绍如何在自己的数据集上做点云语义分割&#xff0c;此篇的环境配置和博客中保持一致。点云分类较简单&#xff0c;方法差不多&#xff0c;这边就不特地说明了。 …

RFID智能物料仓库管理系统

文章目录 设计任务及要求一、需求分析1.1 硬件图1.1.1 GEC6818开发板模块介绍1.1.2 低频RFID模块 1.2 软件图 二、概要设计2.1 功能流程图2.1.1 模块层次关系2.1.2 防碰撞2.1.3 步骤流程图 三、详细设计3.1 摄像头模块代码3.2 串口初始化模块代码分析3.3 报警模块代码分析3.4 光…

java项目之房屋租赁系统ssm源码

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的房屋租赁系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风歌&#xff…

SDH接口能够用DAT3作为插入侦测引脚

SDH&#xff08;Secure Digital Host&#xff09;接口需要 9 个引脚来实现其功能&#xff0c;这些引脚包括&#xff1a; VDD&#xff1a;电源引脚&#xff0c;通常连接到3.3V的电源。 VSS&#xff1a;地引脚&#xff0c;通常连接到系统的地线。 DAT0&#xff1a;数据线0&…

【Linux】在simplescreenrecorder中录制的视频,打开的时候是黑屏,显示不了任何画面

一、问题背景 在simplescreenrecorder中录制的视频&#xff0c;打开的时候是黑屏&#xff0c;显示不了任何画面 当时我以为是软件本身设置有问题&#xff0c;于是乎就到处调。网上有些回答说可能是显卡驱动问题&#xff0c;这个驱动我可不敢随便重装啊&#xff0c;太花时间了…

PSP - AlphaFold2 根据 Species 进行 MSA Pairing 的源码解析

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131399818 AlphaFold2 Multimer 能够预测多肽链之间相互作用的方法&#xff0c;使用 MSA Pairing 的技术。MSA Pairing 是指通过比较 MS…

C# 实现全局鼠标钩子操作以及发送键盘事件

全局钩子定义 using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading; using System.Threading.Tasks;namespace WindowsFormsApp1 {public static class GlobalMousePositi…

【云原生 | 55】Docker三剑客之Docker Swarm简介和安装

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 &#x1f3c5;阿里云ACE认证高级工程师 &#x1f3c5;阿里云开发者社区专…