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

news2024/11/17 3:57:35

相关阅读

Tmuxicon-default.png?t=N7T8https://blog.csdn.net/weixin_45791458/category_12472796.html?spm=1001.2014.3001.5482


        上一篇文章列举了一些关于tmux中会话的基本使用方法,但会话并非是tmux的最强大的功能,tmux还能在一个会话中创建多个窗口(windows),并在这些窗口之间任意切换。

        之前说过,在创建一个会话时会自动在会话中创建一个窗口并连接到它,这时的窗口默认命名和创建的默认会话一样,是0,1, 2...,如下图所示在会话1中有一个名字为0的窗口。

        当然,就像会话一样,用户可以在创建会话时自行选择窗口的名字,也可以选择在会话中添加其他窗口,如下命令所示。

tmux new -s mysession -n mywindow   //在tmux外部使用
:new -n mywindow                    //在tmux内部使用[ctrl]+b+:进入命令模式
[ctrl]+b+c                          //在tmux内部使用

        之前说到,当一个窗口被创建时没有被命名,那么窗口名字会自动跟随当前窗格前台运行的进程名改变,如下图所示,因为当前窗格中运行了bash,所以窗口名变成了bash。 

         如下图所示,当前窗格中运行bash时,窗口的名字是bash,当切换到其他pane时,窗口名字被更改为sleep。

         在创建了一个窗口后重命名一个窗口也是可以的,使用如下命令可以轻松做到这一点,无论是在tmux内部还是外部。

$tmux rename-window new_window-name                      //在tmux内部使用,重命名当前window,在tmux外部使用,重命名最后连接的窗口 
$tmux renamew new_window-name                            //在tmux内部使用,重命名当前window,在tmux外部使用,重命名最后连接的窗口 
$tmux rename-window -t old_window_name new_window_name   //在tmux内部和外部均可使用
$tmux renamew -t old_window_name new_window_name         //在tmux内部和外部均可使用
[ctrl]+b+,                                               //在tmux内部使用

        如下图所示,在tmux内部使用[ctrl]+b+,,更改窗口的名字为window。 

        当你想关闭一个窗口可以使用以下的命令,其中killw是kill-window的别名,注意:当关闭一个窗口时,里面的进程会随着结束。

$tmux kill-window                         //在tmux内部使用则删除当前连接的窗口,在tmux外部使用则删除最后连接的窗口
$tmux killw                               //在tmux内部使用则删除当前连接的窗口,在tmux外部使用则删除最后连接的窗口
$tmux kill-window -t mywindow             //在tmux内部和外部均可使用,指定删除名字为mywindow的窗口
$tmux killw -t mywindow                   //在tmux内部和外部均可使用,指定删除名字为mywindow的窗口
$tmux kill-window -a                      //在tmux内部使用则删除除当前连接的窗口外的所有窗口,在tmux外部使用则删除除最后连接的会话外的所有窗口
$tmux killw -a                            //在tmux内部使用则删除除当前连接的窗口外的所有窗口,在tmux外部使用则删除除最后连接的会话外的所有窗口
$tmux kill-window -a -t mywindow          //在tmux内部和外部均可使用,删除除名字为mywindow的窗口外所有窗口
$tmux killw -a -t mywindow                //在tmux内部和外部均可使用,删除除名字为mywindow的窗口外所有窗口
[ctrl]+b+&                                //在tmux内部使用

        下图显示了在tmux中使用[ctrl]+b+&关闭窗口的过程,在使用快捷键[ctrl]+b+&关闭窗口时tmux会进行二次确认,当一个会话内的所有窗口都关闭后,该会话即会被删除并所有连接至该会话的客户端都会断开连接。 

        窗口间的切换功能是很重要的,使用以下命令可以轻松地在一个会话中的不同窗口间切换,可以上下切换也可以指定编号。

[ctrl]+b+n       //在tmux内部使用,切换到下一个窗口
[ctrl]+b+p       //在tmux内部使用,切换到上一个窗口
[ctrl]+b+[0-9]   //在tmux内部使用,切换到指定编号的窗口

        虽然有了上面的三种切换命令,但有时用户会需要在不同的会话中的窗口之间切换,此时以下命令就很有帮助,此外这个命令会列出所有的窗口以及它们的结构,所以也可利用这个查看tmux的结构。

[ctrl]+b+w   //在tmux内部使用,以列表的形式,列出所有window结构以供选择进入

        如下图所示,用户可以看到不同会话中不同窗口的分布情况,并可以选择一个窗口切换。 

        改变一个窗口的编号也是可行的,使用如下命令可以使编号2和编号1的窗口交换编号。

:swap-window -s 2 -t 1  在tmux内部使用[ctrl]+b+:进入命令模式

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

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

相关文章

springboot配置打野sql语句,而不打印结果

application.yml,注释掉mybatis-plus,增加logging,级别debug

【暴力剪枝】CF1708D

https://codeforces.com/contest/1708/problem/D 题意 思路 这样的操作下,数列减的速度是非常快的,也就是说,易出现很多的0,0的操作没啥意义,所以我们要找到第一个 >0 的数对其后的序列进行排序,就能大…

Vue中的路由是如何工作的?Vue Router的基本用法。

在Vue中,路由是用于管理应用程序中不同页面之间导航的机制。 Vue Router是Vue.js官方提供的路由管理器,它通过集成到Vue应用程序中,提供了一种简单而强大的方式来实现单页应用程序(SPA)的路由功能。 以下是Vue Router的基本用法: 1:安装Vue Router: 首先,使用npm或…

二维码智慧门牌管理系统升级解决方案:地图展示

文章目录 前言一、地图展示功能二、其他升级和改进 前言 随着城市的发展和信息化建设的推进,二维码智慧门牌管理系统在社区管理、物流配送、巡检巡查等多个领域发挥着越来越重要的作用。为了更好地满足用户需求,提升管理效率和服务质量,我们…

【JavaEE重点知识归纳】第9节:抽象类和接口

目录 一:抽象类 1.概念 2.语法 3.特性 4.作用 二:接口 1.概念 2.语法 3.接口使用 4.特性 5.实现多个接口 6.接口间的继承 7.Comparable接口 8.Clonable接口 9.抽象类和接口的区别 一:抽象类 1.概念 (1&#xff0…

【C++】类型转换(dynamic_cast,const_cast,static_cast,reinterpret_cast)

🌏博客主页: 主页 🔖系列专栏: C ❤️感谢大家点赞👍收藏⭐评论✍️ 😍期待与大家一起进步! 文章目录 C语言中的类型转换一、static_cast二、reinterpret_cast三、 const_cast四、 dynamic…

xlive.dll下载安装方法分享,教你快速修复xlive.dll文件

在运行某些应用程序或游戏时,你可能会遭遇到"xlive.dll缺失"错误提示,这可能导致程序无法正常运行。本文将向你介绍一些可行的解决方法教你下载xlive.dll文件,并详细阐述xlive.dll是什么文件以及导致其缺失的原因。 一.理解"x…

2023-10-19 指针与指针的指针,我就不信你脑壳不疼

点击 <C 语言编程核心突破> 快速C语言入门 指针与指针的指针&#xff0c;我就不信你脑壳不疼 前言一、从一个链表实现说起二、指针, 指针的指针, 头疼的来源总结 前言 C实现一个链表&#xff0c;为什么有时候传入指针&#xff0c;有时候传入指针的指针&#xff0c;究竟…

编程接口:eBPF 程序是怎么跟内核进行交互的?

目录 背景 BPF 系统调用 BPF 辅助函数 BPF 映射 BPF 类型格式 (BTF) 小结 背景 用高级语言开发的 eBPF 程序&#xff0c;需要首先编译为 BPF 字节码&#xff0c;然后借助 bpf 系统调用加载到内核中&#xff0c;最后再通过性能监控等接口与具体的内核事件进行绑定。这样&…

VNC Viewer安装教程(保姆级安装)

一、 VNC Viewer简介 VNC是一款开源的远程控制软件&#xff0c;功能强大且高效实用&#xff0c;其性能不逊色同类软件&#xff0c;它的工作原理和WIN远程控制软件类似&#xff0c;但是更为重要的是&#xff0c;VNC-Viewer完全免费开源&#xff0c;更新速度也比较快&#xff01;…

解释CSS伪类和伪元素的区别,并举例说明。

CSS伪类和伪元素是用于选择HTML文档中特定元素或元素的部分内容的CSS选择器。它们的区别在于它们所选择的目标不同。 CSS伪类&#xff08;Pseudo-classes&#xff09;是用于选择符合特定状态或特定条件的元素。伪类以冒号&#xff08;:&#xff09;开头&#xff0c;用于选择元…

【VSCode】解决Open in browser无效

问题描述&#xff1a; 在VSCode中无论是点击右键&#xff0c;选择在默认浏览器中打开&#xff0c;还是按快捷键alt b都没有反应。 解决办法&#xff1a; 右击文件 --> 在文件资源管理器中显示 右击文件&#xff0c;选择属性 点击更改 选择用默认浏览器打开 最后 此时…

Redis 命令—— 超详细操作演示!!!

内存数据库 Redis7 三、Redis 命令3.1 Redis 基本命令3.2 Key 操作命令3.3 String 型 Value 操作命令3.4 Hash 型 Value 操作命令3.5 List 型 Value 操作命令3.6 Set 型 Value 操作命令3.7 有序Set 型 Value 操作命令3.8 benchmark 测试工具3.9 简单动态字符串SDS3.10 集合的底…

Whisper 整体架构图

Attention 注意力机制模块&#xff0c;兼容自注意力和交叉注意力。 AttentionBlock Transformer 模块&#xff0c;包含一个自注意力&#xff0c;一个交叉注意力&#xff08;可选&#xff09;和一个 MLP 模块。 AudioEncoderTextDecoder 音频编码器和文本解码器。编码器的 Tr…

【Unity地编】地形系统搭建入门详解

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;UI_…

【Bug】8086汇编学习

文章目录 随笔Bug1、masm编译报错&#xff1a;Illegal use of register2、debug中使用段前缀3、[idata]在编译器中的处理4、push立即数报错5、报错&#xff1a;improper operand type6、程序莫名跳转到未知位置 (doing)7、DOSBox失去响应8、程序运行显示乱码9、程序运行导致DOS…

Vue中的mixins是什么?

在Vue中,Mixins(混入)是一种可重用的代码块,用于在多个组件之间共享逻辑和功能。通过使用Mixins,可以将一组属性、方法和生命周期钩子等混合到多个组件中,从而实现代码的复用和组件之间的共享功能。 使用Mixins有以下几个步骤: 1:创建Mixins: 创建一个包含共享代码的…

c#中使用Task.WhenAll

&#x1f680;简介 Task.WhenAll用于等待所有提供的Task对象完成执行。这个方法返回一个新的Task&#xff0c;这个Task将在所有提供的Task完成后完成。如果任何一个Task失败&#xff0c;Task.WhenAll返回的Task也将以异常状态完成。这个方法非常适合在你需要并行执行多个操作&…

(二)docker:建立oracle数据库mount startup

这章其实我想试一下startup部分做mount&#xff0c;因为前一章在建完数据库容器后&#xff0c;需要手动创建用户&#xff0c;授权&#xff0c;建表等&#xff0c;好像正好这部分可以放到startup里&#xff0c;在创建容器时直接做好&#xff1b;因为setup部分我实在没想出来能做…

ES6 Promise 详解

目录 一、Promise基本介绍 二、Promise实现多次请求 1.传统Ajax方式实现多次请求 : 1.1 json数据准备 1.2 JQuery操作Ajax 2.使用ES6新特性Promise方式 : 三、Promise代码重排优化 1.问题分析 : 2.代码优化 : 2.1 数据准备 2.2 代码重排 一、Promise基本介绍 (1) Ajax方…