tmux:终端复用神器

1、简介与安装

  今天无心间从同事那里知道有 tmux 这种神器,tmux(terminal multiplexer)是Linux上的终端复用神器,可从一个屏幕上管理多个终端(准确说是伪终端)。使用该工具,用户能够链接或断开会话,而保持终端在后台运行。相似的工具还有screen,今天只介绍tmux相关操做。html

  tmux的结构包括会话(session)、窗口(window)、窗格(pane)三部分,会话实质是伪终端的集合,每一个窗格表示一个伪终端,多个窗格展示在一个屏幕上,这一屏幕就叫窗口。git

  session(会话):一个服务器能够包含多个会话。github

  window(窗口):一个会话能够包含多个窗口。shell

  pane(窗格):一个窗口能够包含多个面板[强悍的分屏]。vim

一、CenOs下安装tmux服务器

  方式一(yum安装):session

yum install tmux -y

  方式二(源码安装):工具

  源码方式安装有依赖,须要先安装libevent,且版本在2.0以上spa

# 安装libevent
wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
tar xzvf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure
make && make install
# tmux安装
git clone https://github.com/tmux/tmux.git
cd tmux/
sh autogen.sh
./configure
make && make install

二、源码安装可能出现的问题code

(1)问题一:

  期间可能会遇到执行autogen.sh 报错,缘由是没有安装automake。这个直接yum install automake就简单解决了。

(2)问题二:

  执行的时候遇到以下报错:

libevent-2.0.so.5: cannot open shared object file: No such file or directory

  解决方法:

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5     # 32位系统
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5   # 64位系统

2、基本操做

  基本的操做无非就是对会话、窗口、窗格进行管理,包括建立、关闭、重命名、链接、分离、选择等等。

  通常使用命令和快捷键进行操做,可在系统shell终端和tmux命令模式(相似vim的命令模式)下使用命令,或者在tmux终端使用快捷键。

  tmux默认的快捷键前缀是Ctrl+b(下文用prefix指代),按下前缀组合键后松开再按下命令键进行快捷操做,好比使用prefix d分离会话(应该写做prefix d而不是prefix+d,由于d键不须要与prefix同时按下)。

一、会话管理

经常使用命令

tmux new                   建立默认名称的会话(在tmux命令模式使用new命令可实现一样的功能,其余命令同理,后文再也不列出tmux终端命令)

tmux new -s mysession      建立名为mysession的会话

tmux new -s mysession -d    在后台创建名为mysession的会话

tmux ls                    显示会话列表

tmux a                     链接上一个会话

tmux a -t mysession        链接名为mysession的会话

tmux rename -t s1 s2       重命名会话s1为s2

tmux kill-session          关闭上次打开的会话

tmux kill-session -t s1    关闭会话s1

tmux kill-session -a -t s1  关闭除s1外的全部会话

tmux kill-server            关闭全部会话
经常使用快捷键

prefix s    列出会话,可进行切换

prefix $    重命名会话

prefix d    断开当前会话

prefix D    选择要脱离的会话,同时开启多个会话时使用

prefix t 显示当前时间,按 q/Esc 退出

prefix [ 复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,按 q/Esc 退出

prefix ] 粘贴以前复制的内容,按 q/Esc 退出

二、窗口管理

prefix c    建立一个新窗口

prefix ,    重命名当前窗口

prefix w    列出全部窗口,可进行切换

prefix n    进入下一个窗口

prefix p    进入上一个窗口

prefix l    进入以前操做的窗口

prefix 0~9  选择编号0~9对应的窗口

prefix .    修改当前窗口索引编号

prefix '    切换至指定编号(可大于9)的窗口

prefix f    根据显示的内容搜索窗格

prefix &    关闭当前窗口

三、窗格管理

prefix %    水平方向建立窗格

prefix "    垂直方向建立窗格

prefix Up|Down|Left|Right  根据箭头方向切换窗格

prefix q    显示窗格编号

prefix o    顺时针切换窗格

prefix }    与下一个窗格交换位置

prefix {    与上一个窗格交换位置

prefix x    关闭当前窗格

prefix space(空格键)  从新排列当前窗口下的全部窗格

prefix !    将当前窗格置于新窗口

prefix Ctrl+o  逆时针旋转当前窗口的窗格

prefix t    在当前窗格显示时间

prefix z    放大当前窗格(再次按下将还原)

prefix i    显示当前窗格信息

四、其余命令

tmux list-key      列出全部绑定的键,等同于prefix ?

tmux list-command  列出全部命令

3、参考资料

  https://blog.51cto.com/svsky/1929509

  http://www.javashuo.com/article/p-fsxozgbu-dq.html

  https://www.cnblogs.com/reboot51/p/9485911.html

相关文章
相关标签/搜索