[Linux]CentOS下安装和使用tmux
前天随意点开博客园,看到了一篇关于tmux的文章 Tmux - Linux从业者必备利器,特意还点进去看了。毕竟Linux对于做游戏服务端开发的我来说,太熟悉不过了。不过我就粗略地看了一眼,就关掉了。直到第二天码农周刊就推荐了这篇文章,才引起我真正的关注。tmux真的那么好用吗?所以我自己也倒腾来一遍,的确在许多场景下还是非常有用的。如:
- 做服务器的,肯定需要关注性能的,而tmux多个pane可以很方便同时关注多项性能指标;
- 我们的游戏服刚好有多个服务存在,而联调多个服务的时候,可以同时看到多个控制台确实很方便。
以上并不是其它方式不可以,譬如我用xshell的,同时看多个xshell可以达到相同的效果。但切换的时候还是有些不方便。 因为环境不同,原作者用Mac,而我用CentOS,有些地方存在不一样,故记载方便自己以后查阅。
CentOS下安装
首先我是用yum install tmux尝试安装的。估计没有源,没有找到tmux。所以习惯性直接找源代码安装。
但是其中有依赖,需要先安装libevent。
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar xzvf libevent-2.0.-stable.tar.gz
cd libevent-2.0.-stable
./configure && make
make install
然后再下载源码安装tmux
git clone git://git.code.sf.net/p/tmux/tmux-code tmux
cd tmux
sh autogen.sh
./configure && make
make install
过程中遇到了两个报错,解决都比较简单,当然是查阅资料后。
问题1:
期间我遇到了执行autogen.sh 报错,原因是我没有安装automake。这个直接yum install automake就简单解决了。
问题2:
执行的时候遇到
libevent-2.0.so.: cannot open shared object file: No such file or directory
的报错,解决办法也比较简单,既然找不到,那就换个找得到的地方呗。
ln -s /usr/local/lib/libevent-2.0.so. /usr/lib/libevent-2.0.so. # 32位系统
ln -s /usr/local/lib/libevent-2.0.so. /usr/lib64/libevent-2.0.so. # 64位系统
使用和快捷键
直接在命令行输入tmux即可进入tmux的模式。
tmux主要有windows窗体操作和Pane操作,个人觉得windows对于我来说,意义不大(并不是说windows模式没适用场景),所以这里主要讲下Pane的相关操作。
快捷键
tmux的快捷键都要先按C-b(Ctrl-b)。然后再按下面表格内容,才能达到相应的效果。
session和其他相关快捷键
| 快捷键 | 功能 |
|---|---|
| C-z | 关闭tmux. |
| : | 进入tmux命令行模式. |
| ? | 列出所有快捷键. |
| t | 显示时间. |
| d | 退出当前tmux客户端,tmux后台运行. |
| $ | 重命名当前session. |
| s | 切换session 显示所有session并切换到某一个session. |
| ( | 切换session 切换到上一个session. |
| ) | 切换session 切换到下一个session. |
| L | 切换session 到前一个活跃的session. |
window相关快捷键
| 快捷键 | 功能 |
|---|---|
| c | 新增一个window. |
| & | 退出当前window. |
| , | 重命名当前window. |
| l | 跳转到上一个所在window. |
| i | 显示当前window的信息. |
| w | 切换window 显示所有window并切换window. |
| 0 to 9 | 切换window 到相应编号的window. |
| p | 切换window 上一个window. |
| n | 切换window 下一个window. |
| ’ | 切换window 到输入编号的window. |
| f | 切换window 到搜索到的window. |
| Space | 改变当前window下的pane布局. |
pane相关快捷键
| 快捷键 | 功能 |
|---|---|
| ! | 从window移除当前pane. |
| " | 将当前pane变成上下两个pane. |
| % | 将当前pane变成左右两个pane. |
| x | 关闭当前pane. |
| q | 显示pane的索引. |
| z | 最大化或者恢复当前pane. |
| { | 跟前一个pane交换位置. |
| } | 跟后一个pane交换位置. |
| o | 切换Pane 到下一个pane. |
| ; | 切换Pane 进入到前一个操作过的pane. |
| Up, Down Left, Right | 切换Pane 使用方向键切换到相应方向的pane. |
可能有些快捷键有些出入,可以的话提醒下。另外有些快捷键没有搞懂,而且快捷键比较多,个人觉得记得主要的几个切换快捷键就足够用来。比较tmux只是一个协助工具,没有必要在其上面那么用心。加粗的是个人觉得比较实用的。
tmux不中断session的模式确实很666666,每次连回去就可以快速接上上次结束的环境。而且多个pane也非常适合要开启并监控多个服务的情况。

参考资料
- http://cenalulu.github.io/linux/tmux/
- http://elroyjetson.org/dev-notes/centos/installing-tmux-on-centos-6-2
- http://www.nigeldunn.com/2011/12/11/libevent-2-0-so-5-cannot-open-shared-object-file-no-such-file-or-directory/
文章同步到github博客,请转载请保留原文链接:
原文地址:http://veiyn.com/2015/04/28/401-deploy-tmux/
[Linux]CentOS下安装和使用tmux的更多相关文章
- Linux(CentOs)下安装Phantomjs + Casperjs
Linux(CentOs)下安装Phantomjs + Casperjs 是参照cnMiss's Blog http://ju.outofmemory.cn/entry/70691的博客进行安装的 1 ...
- linux/centos下安装nginx(rpm安装和源码安装)详细步骤
Centos下安装nginx rpm包 ...
- Linux CentOS下安装Tomcat9
本文讲解在Linux CentOS下安装Tomcat9,以及Web项目的部署发布. 环境:阿里云ECS 云服务器Linux CentOS 使用XShell客户端连接服务器,进行操作实践. 1.下载To ...
- Linux(CentOS)下安装git
上个月把VPS迁到budgetVM,终于不用再受digitalOcean的气了,入手很方便,重点是支持支付宝付款——paypal的界面真是不习惯,开通速度挺快的,1G的内存够我折腾一段时间了~,额外送 ...
- Linux CentOS下安装、配置mysql数据库
假设要在Linux上做j2ee开发.首先得搭建好j2ee的开发环境.包含了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有具体解说了Linux学习之CentOS(七)--Cen ...
- Linux(CentOS)下安装docker
Linux(CentOS)安装Docker 查看当前内核版本 [docker@localhost ~]$ uname -r 确保yum包更新到最新 [docker@localhost ~]$ sudo ...
- linux/centOS 下安装 ngnix
Nginx 是一款轻量级的 Web 服务器/反向代理服务器,比较流行,建议在 Linux 下安装运行. Nginx 需要的依赖 它们包括:gcc,openssl,zlib,pcre(可通过rpm -q ...
- Linux(centos)下安装JDK
安装 JDK是运行java程序必不可少的环境,服务器上跑程序也不例外.首先在安装之前,要知道Linux下安装软件有两种,一种是使用yum等命令直接下载,一种是使用上传下载工具,上传至Linux下使用, ...
- Linux/CentOS下安装MySql RPM Bundle
一.下载对应的版本的MySql安装文件 1.下载路径 https://dev.mysql.com/downloads/mysql/ 2.选择对应的Linux版本和x86/x64位的安装文件 查看Lin ...
随机推荐
- 建工财务搬家NC变更|rman各种测试|
1,使用全备份之后的还原不需要建立表空间. 2,归档日志备份之后,使用delete all input,在backup database plus achivelog之后,会在完成备份之后自动删除归档 ...
- Yii里表单的操作方法(展示渲染待续......)
<?php$form=\yii\widgets\ActiveForm::begin(['action'=>\yii\helpers\Url::to('name/create')]);ech ...
- Flex中设置Camera的视频清晰质量的最佳配合
今天需要设置Flex中的Camera组件的一些属性,后来发现清晰度不是很高,于是捣鼓了上午半天,设置了很多的参数,竟然发现手册上就是有现成的一些设置方法,郁闷!不过我还是专门设置了几个有用和必要的属性 ...
- Uart的Verilog建模
开发工具:Quartus II 9.1: 仿真软件:Questa Sim 10.0c: 硬件平台:Terasic DE2-115(EP2C35F672C6): 外设:MAX3232: 3个工程文件:& ...
- 剑指Offer:面试题24——二叉搜索树的后序遍历序列(java实现)
问题描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true,否则返回false.假设输入的数组的任意两个数字都互不相同. 思路: 1.首先后序遍历的结果是[(左子 ...
- 有效Email
!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test($.trim($('#account').val()))
- noip2006解题报告
T1.能量项链 给出一串数字(其实是个环也就是可以旋转).n个数组成n颗珠子,形如: 1 2 3 4 表示的珠子是(1,2)(2,3)(3,4)(4,1) 定义珠子的聚合:如前两颗聚合放出能量为1*2 ...
- Fragment一些问题
1.使用fragment静态加载,当需要替换的时候使用replace方式是无效的....... 2.replace的容器如果是线性布局,那么将会出现之前的页面残留的情况,正确做法是使用FrameLay ...
- MySQL 常用命令(持续更新)
停止启动MySQL服务 停止:net stop mysql启动:net start mysql 查看正在运行的线程 SHOW PROCESSLIST SHOW FULL PROCESSLIST 杀死线 ...
- <meta http-equiv="refresh" content="0; url=">是什么意思?
页面定期刷新,如果加url的,则会重新定向到指定的网页,content后面跟的是时间(单位秒),把这句话加到指定网页的<head></head>里一般也用在实时性很强的应用中, ...