博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tmux 基础教程
阅读量:4605 次
发布时间:2019-06-09

本文共 2487 字,大约阅读时间需要 8 分钟。

功能

  • 提供了强劲的、易于使用的命令行界面。
  • 可横向和纵向分割窗口。
  • 窗格可以自由移动和调整大小,或直接利用四个预设布局之一。
  • 支持 UTF-8 编码及 256 色终端。
  • 可在多个缓冲区进行复制和粘贴。
  • 可通过交互式菜单来选择窗口、会话及客户端。
  • 支持跨窗口搜索。
  • 支持自动及手动锁定窗口。

安装:

         sudo apt-get install tmux

          或下载源码包安装

-- 基本使用

    • tmux   运行 tmux -2 以256终端运行
    • C-b d  返回主 shell , tmux 依旧在后台运行,里面的命令也保持运行状态
    • tmux ls # 显示已有tmux会话(C-b s)
    • tmux attach-session -t 数字 # 选择tmux
    • tmux new-session -s session-name
    • tmux kill-session -t session-name

 

tmux架构图:

 

 

 

tmux使用C/S模型构建,主要包括以下单元模块:

  • 一个tmux命令执行后启动一个tmux服务
  • 一个tmux服务可以拥有多个session,一个session可以看作是tmux管理下的伪终端的一个集合
  • 一个session可能会有多个window与之关联,每个window都是一个伪终端,会占据整个屏幕
  • 一个window可以被分割成多个pane

 

tmux的配置:

~/.tmux.conf (以下主要的作用:修改tmux命令激活按键为ctrl+c,)

 
set-option -g base-index 1
set-option -g display-time 5000
set-option -g repeat-time 1000
set-option -g status-keys vi
set-option -g status-right "#(date +%H:%M' ')"
set-option -g status-right-length 10
set-option -g status-utf8 on

 

 
set-window-option -g mode-keys vi
set-window-option -g utf8 on

 

 
set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix

 

 
bind-key z kill-session
bind-key h select-layout even-horizontal
bind-key v select-layout even-vertical 

 

tmux的使用问题: 

使用putty连接到远程的机器是,需要设置windows->Translation->Remote characters set 为UTF-8, 否则tmux的windows中pane的间隔线显示有问题。

在修改tmux的conf后,需要重启tmux服务, 此时需要ctrl+c / : kill-server。

在多个panes的时候拷贝粘贴是个问题,需要ctrl+c / [ 进入复制模式。 

 

tmux的常用按键:

tmux #开启tmux
tmux ls #列出会话 

tmux attach -t session #进入某个会话  

tmux -r 连接上次断开的session

C-b d 临时断开session 断开以后,还可以连上的哟:) 

C-b c 创建一个新的window
C-b 数字 直接跳到你按的数字所在的window 
C-b " 在下边分割出来一个pane  
C-b % 在右边分割出来一个pane
C-b o 在多个panes中切换 

C-b x 关闭当前光标处的pane  

 

更多的快捷键:

Ctrl+b  #激活控制台;此时以下按键生效   
系统操作   
    ?   #列出所有快捷键;按q返回   
    d   #脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话   
    D   #选择要脱离的会话;在同时开启了多个会话时使用   
    Ctrl+z  #挂起当前会话   
    r   #强制重绘未脱离的会话   
    s   #选择并切换会话;在同时开启了多个会话时使用   
    :   #进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器   
    [   #进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出   
    ~   #列出提示信息缓存;其中包含了之前tmux返回的各种提示信息   
窗口操作   
    c   #创建新窗口   注意不是新的pane(窗格)
    &   #关闭当前窗口   
    数字键 #切换至指定窗口   
    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  #顺时针旋转当前窗口的面板   

  Ctrl-b t 很酷的一个时钟。

 

转自http://www.cnblogs.com/itech/archive/2012/12/17/2822170.html

转载于:https://www.cnblogs.com/xing-optimizelife/p/4892096.html

你可能感兴趣的文章
Struts2转换小程序(Struts2.3.4)
查看>>
java mybatis 框架下多种类型的参数传入到xml问题
查看>>
docker端口映射与容器互联
查看>>
INSERT INTO .. ON DUPLICATE KEY更新多行记录
查看>>
PHP几种抓取网络数据的常见方法
查看>>
GridView的stretchMode属性
查看>>
zoj 1849 (浙江省赛)Attack of Panda Virus
查看>>
MySQL 一个库中表数量是否有限制?
查看>>
图像的平移、旋转及缩放
查看>>
17网络《数据结构》课程相关事项列表
查看>>
Java web ch03_11_loginReceive.jsp
查看>>
Basic Skill
查看>>
领料单取整
查看>>
上传图片预览--图片上传后显示在某个模块中
查看>>
pc端页面在移动端显示问题
查看>>
如何成为用户真正需要的短信验证平台
查看>>
运用JS设置cookie、读取cookie、删除cookie
查看>>
分布式计算 lab3 HTTP服务器
查看>>
转座子类型
查看>>
linux下gzip的压缩详解
查看>>