介绍

有时候我们需要在命令行里同时开多个程序,但是每个程序都会占用命令行,这时候可以用tmux,给命令行界面分栏.

基本概念

tmux是分多层的

会话>窗口(我下文称作:页)>面板(或者叫做窗格,分栏)

每个会话可以有多个窗口,每个窗口可以有多个面板,面板就是一个单独的shell了.

安装

只需要一行命令

apt install tmux -y

运行

在命令行执行tmux就能运行了,可以看到命令行界面有些"变化"





如果你在上次运行的时候,ssh不小心断了,可以用这个命令恢复:

tmux attach

使用方法

1:所有操作之前都要按下Ctrl+B(后文简称快捷键)

2:所有操作的对象都是"焦点"所在的命令行(绿色方块):

分栏:

分栏是针对当前"焦点"所在的窗格进行的,如果是第二次,或者更多次分栏,操作前要把焦点切换到目标窗格.

竖着切:

按下快捷键后松开,接着快速按"%"键(这个键,你可能需要跟着Shift一起按,你应该知道原因的...)

横着切:

按下快捷键后松开,接着快速按 双引号 " 键(记得跟Shift一起按)

把焦点转移到别的分栏:

按快捷键后松开,用方向键控制

调整窗格大小:

按下快捷键后只松开B,持续按住Ctrl,这时候用方向键能调整大小

快速切换窗格:

其实每个窗格都有一个ID,按快捷键,松开后按q可显示出来,这时候按下ID数字对应的按键即可跳转(要快速,在数字消失前按下)

关闭指定窗格:

在窗格里执行exit

或者按快捷键后松开,然后按x

结束会话(关闭当前会话所有窗口,所有分栏,回到shell):

按快捷键后松开,按"&"(带Shift吧~),注意看下面,会向你确认是否要退出.

多窗口模式

有时候一个屏幕容纳不下那么多的窗格,tmux还支持分页!

创建页:

快捷键,松开,按c(小写的,这回不用带shift了)

切换页:

上一个:快捷键,松开,按p

下一个:快捷键,松开,按n

关闭页:

快捷键,松开,按&

查看列表(可选择切换):

快捷键,松开,按w

会话

用到多会话的频率可能不高.但会话是网络断开后会持续存在的,每次运行tmux命令都会建立一个新会话.如果脱离,可用上文提到的命令来恢复:

tmux attach

脱离会话回到shell:

快捷键,松开,按d

如果同时开启了多个会话,可以用大写D选择要脱离的会话!

想恢复可以用这个命令:

tmux attach

退出会话:

把所有窗格关闭,这样会导致分页关闭,分页全部关闭会导致会话关闭...

最快的方式:

连续这样操作:

快捷键,松开,按& 按y

问题处理

运行时提示: need UTF-8 locale (LC_CTYPE) but have ***

执行这个即可,需要root权限:

locale-gen "en_US.UTF-8"&&  dpkg-reconfigure locales

更多资料

http://blog.csdn.net/longxibendi/article/details/38541005

http://blog.csdn.net/trochiluses/article/details/9773103

用tmux工具给linux命令行分栏的更多相关文章

  1. 自学Linux命令行与Shell脚本之路

    自学Linux命令行与Shell脚本之路[第一回]:初识Linux   1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3  ...

  2. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  3. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

  4. 20个linux命令行工具监视性能(下)

    昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给 ...

  5. 12款最佳Linux命令行终端工具

    12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件 ...

  6. 7个基于Linux命令行的文件下载和网站浏览工具

    7个基于Linux命令行的文件下载和网站浏览工具 时间:2015-06-01 09:36来源:linux.cn 编辑:linux.cn 点击: 2282 次 Linux命令行是GNU/Linux中最神 ...

  7. 分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

    linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Li ...

  8. Linux命令行抓包及包解析工具tshark(wireshark)使用实例解析

    在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析. 最近才发现,原来wire ...

  9. Linux 命令行下搜索工具大盘点,效率提高不止一倍!

    在 Linux 命令行下进行文本关键字的搜索,大家肯定第一时间会想到 grep 命令.grep 命令确实十分强大,但如果需要用到它更加灵活的功能时,可能命令就会显得十分复杂. 于是,为了简化 grep ...

随机推荐

  1. 程序设计实践 (Brian W. Kernighan Rob Pike 著)

    第1章 风格 1.1 名字 1.2 表达式和语句 1.3 一致性和习惯用法 1.4 函数宏 1.5 神秘的数 1.6 注释 1.7 为何如此费心 第2章 算法与数据结构 2.1 检索 2.2 排序 2 ...

  2. Java单播、广播、多播(组播)---转

    一.通信方式分类 在当前的网络通信中有三种通信模式:单播.广播和多播(组播),其中多播出现时间最晚,同时具备单播和广播的优点. 单播:单台主机与单台主机之间的通信 广播:当台主机与网络中的所有主机通信 ...

  3. [转]一个故事讲清楚NIO

    假设某银行只有10个职员.该银行的业务流程分为以下4个步骤: 1) 顾客填申请表(5分钟): 2) 职员审核(1分钟): 3) 职员叫保安去金库取钱(3分钟): 4) 职员打印票据,并将钱和票据返回给 ...

  4. MatConvNet中关于vl_simplenn_display的一些分析

    一.关于各层data size的分析 layer1:  floor((224-7)/2)+1=109 这里7是filter大小,2是stride layer4: floor((109+0+1-3)/2 ...

  5. spring-整合Struts2

    1. Spring 如何在 WEB 应用中使用 ? 1). 需要额外加入的 jar 包: spring-web-4.0.0.RELEASE.jarspring-webmvc-4.0.0.RELEASE ...

  6. 由于未能创建Visual C# 2015编译器,因此未能打开项目xxx。请重新安装Visual Studio。

    解决方案1: 清除如下文件夹里的内容. %AppData%\Local\microsoft\VisualStudio\14.0\ComponentModelCache or  C:\Users\DEL ...

  7. Windows 消息【二】窗口函数

    前一篇文章讲到非队列消息会直接把消息Dispatch到窗口函数上,窗口函数长什么样? //就是一个大case分支 //要想拦截消息,override窗口函数是一个办法! procedure TCust ...

  8. [VC6,VC9] [ts,nts,deb] [rpm,msi] 你需要下载什么格式的文件

    1.VC6与VC9的区别 VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本. VC9版本是使用Visual Studio 200 ...

  9. 无需AutoCAD,用C#生成DWG文件

    是一个类库:Teigha.NET for .DWG 利用它就可以在无需安装AutoCAD软件的情况下,生成.读取DWG文件,适合那些导入导出的场合. Teigha曾用名OpenDWG .DWGdire ...

  10. Vue--基本语法

    Vue语法学习 引入:script的src中导入vue包 创建:在script中创建vue对象 双向绑定: el----选择器,锁定标签 data----定义变量,将标签内容绑定给变量 {{变量}}- ...