[转帖] tmux 的使用说明
之前曾经看过 tmux 的简介 但是一直不会用 这次 看了下 原来是这么处理 不过 用windows 多了 还是感觉鼠标 操作多一些 全键盘操作的习惯 还是没有养成.
原贴地址: https://www.cnblogs.com/chenshoubiao/p/4854987.html
Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;是BSD实现的Screen替代品,相对于Screen,它更加先进:支持屏幕切分,而且具备丰富的命令行参数,使其可以灵活、动态的进行各种布局和操作。对于Tmux的使用,可以参考:Tmux终端复用详解
1)Tmux功能:
- 提供了强劲的、易于使用的命令行界面。
- 可横向和纵向分割窗口。
- 窗格可以自由移动和调整大小,或直接利用四个预设布局之一。
- 支持 UTF-8 编码及 256 色终端。
- 可在多个缓冲区进行复制和粘贴。
- 可通过交互式菜单来选择窗口、会话及客户端。
- 支持跨窗口搜索。
- 支持自动及手动锁定窗口。
2)Tmux安装
a)ubuntu版本下直接apt-get安装
|
1
|
# sudo apt-get install tmux |
b)centos7版本下直接yum安装
|
1
|
# yum install -y tmux |
centos6版本需要编译安装 (百度云盘下载:https://pan.baidu.com/s/1eRUEUlG 密码:ewst)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
tmux官网下载地址:http://tmux.github.io/ # yum install libevent libevent-devel ncurses-devel# tar -zvxf tmux-2.3.tar.gz (提前下载:wget https://github.com/tmux/tmux/releases/download/2.3/tmux-2.3.tar.gz)# cd tmux-2.3# ./configure# make && make install-----------------------------------------------------------------1)make编译tmux时,可能出现的错误control.c: In function ‘control_callback’:control.c:63: warning: implicit declaration of function ‘evbuffer_readln’control.c:63: error: ‘EVBUFFER_EOL_LF’ undeclared (first use in this function)control.c:63: error: (Each undeclared identifier is reported only oncecontrol.c:63: error: for each function it appears in.)control.c:63: warning: assignment makes pointer from integer without a castmake: *** [control.o] Error 1原因:使用的libevent的版本太低造成的,tmux1.8要求libevent>= 2.0.10-stable解决办法:# yum remove libevent libevent-devel //先卸载yum安装的libevent# rpm -qa|grep libevent //确保已经卸载到http://libevent.org/里面下载最新版的libevent# tar -zvxf libevent-2.0.21-stable.tar.gz (提前下载:wget https://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz)# cd libevent-2.0.21-stable# ./configure# make && make install# ll /usr/local/lib/libevent.so然后再接着make编译tmux就顺利通过了~~2)运行tmux可能出现的错误:tmux: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory解决办法:建立相应的软链接32bit系统# ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.564bit系统# ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5---------------------------------------------------------------- |
c)在Mac OS中安装
|
1
2
3
4
5
|
安装 Homebrew$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装tmux$ brew install tmux |
3)Tmux的使用
安装完成后输入命令tmux即可打开软件,界面十分简单,类似一个下方带有状态栏的终端控制台;但根据tmux的定义,在开启了tmux服务器后,会首先创建一个会话,而这个会话则会首先创建一个窗口,其中仅包含一个面板;也就是说,这里看到的所谓终端控制台应该称作tmux的一个面板,虽然其使用方法与终端控制台完全相同。
# tmux //直接进入面板,如下使用效果:

Tmux的快捷键使用说明:
|
Ctrl+b
|
激活控制台;此时以下按键生效
|
|
|
系统操作
|
?
|
列出所有快捷键;按q返回
|
|
d
|
脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
|
|
|
D
|
选择要脱离的会话;在同时开启了多个会话时使用
|
|
|
Ctrl+z
|
挂起当前会话
|
|
|
r
|
强制重绘未脱离的会话
|
|
|
s
|
选择并切换会话;在同时开启了多个会话时使用
|
|
|
:
|
进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器
|
|
|
[
|
进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
|
|
|
~
|
列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
|
|
|
窗口操作
|
c
|
创建新窗口
|
|
&
|
关闭当前窗口
|
|
|
数字键
|
切换至指定窗口
|
|
|
p
|
切换至上一窗口
|
|
|
n
|
切换至下一窗口
|
|
|
l
|
在前后两个窗口间互相切换
|
|
|
w
|
通过窗口列表切换窗口
|
|
|
,
|
重命名当前窗口;这样便于识别
|
|
|
.
|
修改当前窗口编号;相当于窗口重新排序
|
|
|
f
|
在所有窗口中查找指定文本
|
|
|
面板操作
|
”
|
将当前面板平分为上下两块
|
|
%
|
将当前面板平分为左右两块
|
|
|
x
|
关闭当前面板
|
|
|
!
|
将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
|
|
|
Ctrl+方向键
|
以1个单元格为单位移动边缘以调整当前面板大小
|
|
|
Alt+方向键
|
以5个单元格为单位移动边缘以调整当前面板大小
|
|
|
Space
|
在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled
|
|
|
q
|
显示面板编号
|
|
|
o
|
在当前窗口中选择下一面板
|
|
|
方向键
|
移动光标以选择面板
|
|
|
{
|
向前置换当前面板
|
|
|
}
|
向后置换当前面板
|
|
|
Alt+o
|
逆时针旋转当前窗口的面板
|
|
|
Ctrl+o
|
顺时针旋转当前窗口的面板
|
|
tmux 支持 鼠标的操作
创建一个文件
vim ~.tmux.conf
增加内容
setw -g mouse-resize-pane on setw -g mouse-select-pane on setw -g mouse-select-window on setw -g mode-mouse on
即可
-------------------------------------------------------------------------
需要注意的几点:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
1)进入tmux面板后,一定要先按ctrl+b,然后松开,再按其他的组合键才生效。2)常用到的几个组合键:ctrl+b ? 显示快捷键帮助ctrl+b 空格键 采用下一个内置布局,这个很有意思,在多屏时,用这个就会将多有屏幕竖着展示ctrl+b ! 把当前窗口变为新窗口ctrl+b " 模向分隔窗口ctrl+b % 纵向分隔窗口ctrl+b q 显示分隔窗口的编号ctrl+b o 跳到下一个分隔窗口。多屏之间的切换ctrl+b 上下键 上一个及下一个分隔窗口ctrl+b C-方向键 调整分隔窗口大小ctrl+b & 确认后退出当前tmuxctrl+b [ 复制模式,即将当前屏幕移到上一个的位置上,其他所有窗口都向前移动一个。ctrl+b c 创建新窗口ctrl+b n 选择下一个窗口ctrl+b l 最后使用的窗口ctrl+b p 选择前一个窗口ctrl+b w 以菜单方式显示及选择窗口ctrl+b s 以菜单方式显示和选择会话。这个常用到,可以选择进入哪个tmuxctrl+b t 显示时钟。然后按enter键后就会恢复到shell终端状态ctrl+b d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 |
[转帖] tmux 的使用说明的更多相关文章
- 终端复用工具 tmux 基本操作教程
简介 在 Linux 操作环境下,终端操作是发挥 Linux 强大命令功能的重要途径,但在本地主机操作中,针对不同任务开启不同的终端,在使用时进行频繁的终端切换在某些场合下是一种使人分心和疲惫的操作, ...
- Tmux使用说明
tmux通过一个终端登录远程主机并运行,其中可开启多个控制台的终端复用.其结构如下: server 服务器.输入tmux命令时就开启了一个服务器. session 会话.一个服务器可以包含多 ...
- tmux 使用说明
安装Mac:brew install tmux若未安装libevent,需要先brew install libeventCentos:yum -y install tmuxUbuntu:apt-get ...
- Linux常用命令之Tmux
Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“ ...
- (转载)Linux终端复用神器-Tmux使用
Linux终端复用神器-Tmux使用 转载地址:https://blog.51cto.com/652465/2094738 Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于Open ...
- Linux终端复用神器-Tmux使用梳理
Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“ ...
- Tmux教程
常用命令如下: (Ctrl+B) + (Shift+5) 打开一个新窗口 (Ctrl+B) + right/left 在不同窗口之间切换 (Ctrl+B) + [ 或 ] 进入复制模式,查看历史记录 ...
- Tmux (转)
Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“ ...
- Delphi中SendMessage使用说明(所有消息说明) good
Delphi中SendMessage使用说明 SendMessage基础知识 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回.而函数Po ...
随机推荐
- Android调用系统的打电话和发短信界面(1.将消息内容带过去2.实现群发)
package com.example.myapi.sms; import android.app.Activity; import android.content.Intent; import an ...
- navicat 连接Oracle 报错:Cannot load OCI DLL, 126
1.64位win7 安装了oracle11g 使用Navicat for Oracle cannot load OCI DLL,126 解决方法:navicat 菜单中 -工具->选项-> ...
- 20155226《网络攻防》 Exp3 免杀原理与实践
20155226<网络攻防> Exp3 免杀原理与实践 实验过程 1. msfvenom直接生成meterpreter可执行文件 直接将上周做实验时用msf生成的后门文件放在virscan ...
- 20155234《网路对抗》Exp9 WEB安全基础
20155234 Exp9 Web安全基础 基础问答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意 ...
- 20155327 实验四 Android程序设计
20155327 实验四 Android程序设计 任务一: 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号 步骤: 将布局文件activity_ma ...
- MySQL优化:explain using temporary
什么时候会使用临时表:group/order没设计好的时候 1.order没用索引 2.order用了索引, 但不是和where相同的索引 3.order用了两个索引, 但不是联合索引 4.order ...
- EZ 2018 03 16 NOIP2018 模拟赛(四)
链接:http://211.140.156.254:2333/contest/64 我去掉了一百多分! 这次的题目怎么说呢,特别水,但是就是出现了一些很逗的错误导致炸裂. 最好笑的是SB的不只我一个: ...
- POJ 1328&&2109&&2586
这次是贪心(水笔贪心)专题. 先看1328,一道经典的导弹拦截(或者是打击?不懂背景). 大意是说在一个坐标系中有一些点(或是导弹),你要在x轴上建一些东西,它们可以拦截半径为d的圆范围中的点.问最少 ...
- python 单体模式 的几种实现
这是本人的一篇学习笔记. 本文用 python 实现单体模式,参考了这里 一.修改父类的 __dict__ class Borg: _shared_state = {} def __init__(se ...
- SSIS 事件的向上传递
在SSIS中,Package是Task组件的有序组合,具有层次结构,Package处于层次结构的顶层(Root Level),对于父子包结构,父包(Parent Package)通过Execute P ...