下 终端_Linux/UNIX 下终端复用利器 tmux

tmux 是一个终端复用器(terminal multiplexer)。

简介

tmux 是一个终端复用器类自由软件,功能类似 GNU Screen,但使用 BSD 许可发布。用户可以通过 tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。 — 维基百科

基本概念

tmux 的三个重要概念:会话(session)窗口(window)窗格(pane)


一个会话(session) 可以有多个窗口(window),一个窗口(window)又可以有多个窗格(pane)

安装

# macOS$ brew install tmux# centos$ yum install tmux

前缀键

tmux 的快捷键都要通过前缀键才可以使用。默认的前缀键是“Ctrl+b”,即先按下“Ctrl+b”进入快捷键模式,再按快捷键才会生效。


举例:分离会话的快捷键是“Ctrl+b d”。用法是,在 tmux 窗口下,先按下“Ctrl+b”,再按下“d”,就会分离会话,进入正常命令行模式。

会话管理

  • tmux:创建一个无名称的会话
  • tmux new -s daodaotest:创建名为 daodaotest 的会话
  • tmux new -s daodaotest -d:在后台创建名为 daodaotest 的会话
  • tmux detach:分离会话
  • tmux ls:显示会话列表
  • tmux a:接入最后一次会话
  • tmux a -t daodaotest:接入 daodaotest 会话
  • tmux kill-session:关闭最后一次会话
  • tmux kill-session -t 0:使用会话编号杀死会话
  • tmux kill-session -t daodaotest:使用会话名称杀死会话
  • tmux kill-session -a -t daodaotest:关闭除 daodaotest 外的所有会话
  • tmux kill-server:关闭所有会话
  • tmux switch -t 0:使用会话编号切换会话
  • tmux switch -t daodaotest:使用会话名称切换会话
  • tmux rename-session -t daodaotest daodaotest2:重命名会话名称
  • exit 或 Ctrl+d:退出会话

会话快捷键

  • Ctrl+b s:列出会话,可进行切换
  • Ctrl+b d:分离当前会话
  • Ctrl+b $:重命名当前会话

窗口管理

  • tmux new-window:新建一个新窗口
  • tmux new-window -n daodaotest:新建一个 daodaotest 名称的新窗口
  • tmux select-window -t 0~9:切换到指定编号的窗口
  • tmux select-window -t daodaotest:切换到 daodaotest 的窗口
  • tmux rename-window daodaotest2:重命名当前窗口为:daodaotest2

窗口快捷键

  • Ctrl+b c:新建一个新窗口
  • Ctrl+b ,:重命名当前窗口
  • Ctrl+b w:列出所有窗口,可进行切换
  • Ctrl+b n:进入下一个窗口
  • Ctrl+b p:进入上一个窗口
  • Ctrl+b l:进入之前操作的窗口
  • Ctrl+b 0~9:选择编号0~9对应的窗口
  • Ctrl+b .:修改当前窗口索引编号
  • Ctrl+b ':切换至指定编号(可大于9)的窗口
  • Ctrl+b f:根据显示的内容搜索窗格
  • Ctrl+b &:关闭当前窗口

窗格管理

  • tmux sp -h:水平方向创建窗格
  • tmux sp:垂直方向创建窗格
  • 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 Up|Down|Left|Right:根据箭头方向切换窗格
  • Ctrl+b q:显示窗格编号
  • Ctrl+b o:顺时针切换窗格
  • Ctrl+b }:与下一个窗格交换位置
  • Ctrl+b {:与上一个窗格交换位置
  • Ctrl+b x:关闭当前窗格
  • Ctrl+b space(空格键):重新排列当前窗口下的所有窗格
  • Ctrl+b !:将当前窗格置于新窗口
  • Ctrl+b Ctrl+o:逆时针旋转当前窗口的窗格
  • Ctrl+b t:在当前窗格显示时间
  • Ctrl+b z:放大当前窗格(再次按下将还原)
  • Ctrl+b i:显示当前窗格信息

使用场景

后台运行程序

在做自动化部署脚本时,远程执行目标服务器 xStart.sh 脚本,来后台启动 java 应用。脚本如下:

# 启动应用start() {  ......  if [ "X$pid" = "X" ]; then      # 关闭之前终端      tmux kill-session -t $SYSTEM_NAME-$PORT      # 创建终端      tmux new -s $SYSTEM_NAME-$PORT -d      # 终端启动服务      tmux send -t $SYSTEM_NAME-$PORT "cd $PIDDIR;nohup java $JAVA_OPTS -jar $SYSTEM_NAME*.jar $SPRING_ACTIVE --server.port=$PORT $EXT_OPTS >/dev/null 2>&1 &" ENTER  else      echo "$SYSTEM_NAME is already running."      exit 1  fi  ......}

大量数据迁移

在迁移 maven 私服 nexus 时,nexus 数据大概有 13G 左右,在使用scp进行迁移,终端超时关闭后就会中断。操作命令如下:

# 创建 tmux 会话$ tmux new -s nexus-scp# 在 tmxu 会话中,执行 scp 命令$ scp -R nexus@x.x.x.x:~/nexus .# 分离会话,后台执行即可$ Ctrl+b d

快速恢复工作现场

日常工作中,每天都要查询某些日志或者监控某些指标时,可以通过tmux保存现场,下次快速恢复工作现场,提高工作效率。

nginx 操作现场

406268a7a28f6755b2eb11013d03d22e.png

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

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

相关文章

消失的字符串——c语言函数中的数据存储方式以及字符串实现

2019独角兽企业重金招聘Python工程师标准>>> 事情是这样的,最近在学习翁老师的Mooc之C语言程序设计,插一句,真的是好老师,讲的真的太好了,在c里的字符串这里,翁老师演示了一个小程序&#xff0c…

JQuery 文本框高亮显示插件

以前使用Mootools Js框架,文本框有个$(id).highlight()高亮方法,使其高亮显示,效果如下: JQuery 中没有这个方法,自己今天写了一个Plugin,把代码贴出来分享一下; 代码如下: jquery-h…

链方法[C# 基础知识系列]专题三:如何用委托包装多个方法——委托链

最近研究链方法,稍微总结一下,以后继续补充: 弁言: 上一专题分析了下编译器是如何来翻译委托的,从中间语言的角度去看委托,希望可以帮助大家进一步的理解委托,然而之前的分析都是委托只是封装一…

51单片机lcd1602的简单实用

基础知识准备 lcd1602简介 图片来自b站斌哥单片机 需要关注的有以下几点: RS : 高数据低命令;RS 1时,lcd1602读写数据,RS0时,lcd1602读写命令R/W:高读低写;RW1时,单片机读取lcd160…

firedebug调试Jquery

不了解的同学先“点这里”看看什么是Firebug。简单来说,Firebug是Firefox上用来监视、编辑和调试站点的CSS、HTML、DOM和JavaScript的扩展工具。 我们先到Firebug的主页上下载最新的版本装上,下面开始调试: 1、查看、编辑HTML元素及其(转) 安…

51单片机数字钟的实现

作业 用51单片机完成一个数字钟的计时及校时功能。 1、设置8个数码管的显示缓冲区为DISPBUFF[8],并初始化为02,02,-,04,08,-,03,06. 2、定时器0每隔5ms刷新一次数码管显示缓冲区,并显示时间(中断来做) 3、定时器1负责精确定时,计时1s,每隔…

Google Map API 学习三

转载于:https://www.cnblogs.com/MyFlora/p/3154066.html

慎用SELECT INTO复制表

很多时候我们习惯于用SELECTINTO 复制一个表或表结构,因为它方便,快捷,而且在某些情况下效率比INSERT INTO 效率要高一些。但是要注意: SELECT INTO 复制表或表结构的时候,只是得到了一个“外壳”,就像克隆…

信号的采样与插值重建(包含matlab)

实验任务 双频信号的采样和插值重建:对双频信号进行采样(符合奈奎斯特低通采样定理),绘制波形和频谱;编制sinc函数插值函数,对采样进行恢复,绘制波形。 实验原理 matlab代码 clear all; clos…

dc概论之IO约束

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://bb2hh.blogbus.com/logs/39654476.html 注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong以下根据资料和个人体…

普通调幅(AM)与抑制载波双边带调幅(DSB)matlab编程实现

实验任务 实现单频信号的AM、DSB调制,绘制调制前后的波形和频谱 实验原理 matlab代码 AM调制 clear all; ts 0.0025; %信号抽样时间间隔 fs 1/ts; %抽样频率 t 0:ts:10-ts; %时间向量 df fs/length(t); %fft的频率分辨率 msg2 cos(2*pi*2*t); Pn fft(msg2…

MySQL中MySQL X.X Command Line Client一闪而过的问题

问题介绍:我安装完MySQL(我安装的是5.5)后,使用MySQL 5.5 Command Line Client,每次点击,总是一闪而过。解决方法如下:首先进入cmd 切入MySQL的安装目录,然后切入 bin 目录 ,输入mysqld-nt --sk…

4pam调制与解调(matlab实现)

实验原理 这是一种使用脉冲幅度调制技术的线路编码。PAM4信号有四个电压电平,每个幅度电平分别对应逻辑比特00、01、10和11。换言之,PAM4编码的每个符号由2个比特组成,它们对应一个电压电平,即幅度。 00对应-3,01对应-1,10对应1,…

普通调幅(AM)与包络检波(matlab实现)

普通调幅(AM)与包络检波 1.实验任务 采用matlab实现普通调幅信号的包络检波,并绘制包络检波后的信号的波形与频谱。 2.实验原理(请读者参见matlab通信仿真文件夹) 3.matlab代码 time.33;%采样时长 Ts1/10000;%采样…

免费Google地图API使用说明(转)

转自:http://www.cnblogs.com/mypig/articles/1936154.html01事件监视 02 03GEvent.addListener用来注册事件监视器,在这个例子中,在用户移动或拖拽地图后,输出地图中心点的经/纬. 04 05 06var map new GMap(document.getElem…

双栈共享存储空间(C++代码实现)

理论部分 理论来源&#xff1a;b站up主:跟懒猫老师快乐数据结构 C代码 #include<iostream> using namespace std; const int STACKSIZE 6; //两栈共享存储空间编程 //使用类模板编程 template<class DataType> class BothStack { private:DataType *data;//属性…

毕业三年

2013年6月&#xff0c;毕业整整3年了。曾经的同伴&#xff0c;有人创业了&#xff0c;有人升职加薪&#xff0c;也有人职场失利。而我&#xff0c;做了2年多的独立开发者。 在大学的时候我学的是.net&#xff0c;在毕业前还去考了微软的认证&#xff0c;考过了&#xff0c;但考…

Muduo 网络编程示例之五: 测量两台机器的网络延迟

Muduo 网络编程示例之五&#xff1a; 测量两台机器的网络延迟 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice t.sina.com.cn/giantchen 这是《Muduo 网络编程示例》系列的第五篇文章。 Muduo 全系列文章列表&#xff1a; http://blog.csdn.net/Solstice/category/779646.…

数据结构表达式求值(C++)

实验原理 代码思路 使用两个顺序栈编程&#xff0c;一个顺序栈用来存储操作数&#xff0c;一个顺序栈用来存储操作符 关键为表达式求值函数的编写 对该函数&#xff0c;循环结束条件为栈顶元素为’#’,且读入的字符也为’#’ 循环体 &#xff08;1&#xff09;判断是否为操作…

中国互联网大佬江湖拼什么?拼财力拼出身拼前景拼造势

创业者千千万&#xff0c;大佬的椅子却有限。 马云、李彦宏、马化腾、雷军、周鸿祎、丁磊、张朝阳……大浪淘沙之中&#xff0c;他们挺住了&#xff0c;前进了&#xff0c;成功了。纵观互联网大佬修炼过程&#xff0c;虽然有机缘巧合&#xff0c;背后仍然有道可依。 表面风平浪…