今天无心间从同事那里知道有 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位系统
基本的操做无非就是对会话、窗口、窗格进行管理,包括建立、关闭、重命名、链接、分离、选择等等。
通常使用命令和快捷键进行操做,可在系统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 列出全部命令
https://blog.51cto.com/svsky/1929509