• 终端复用工具tmux的使用


    tmux的作用在于终端复用。
    1. 在server上启动一个bash。并在里面执行tmux
    2. 通过ssh远程登录server,执行tmux attach,就会切换到server上的那个bash中,接下来的操作都是在bash中了
    3. 此时能够打开很多其它的窗体,这样在远程就能够像在本地一样同一时候使用多个一样的bash

    假设要发送命令。例如以下:
    tmux send -t checkpoint ls ENTER
    注:checkpoint是你已经用tmux创建好的session的名字(tmux new -s checkpoint)。ls是shell命令;加上ENTER才干在checkpoint这个session中执行ls命令。


    这样你就不用手动tmux attach到那个session中。再手动执行ls命令。这对使用脚本是有优点的。
    假设这个session有多个窗体:
    tmux send -t checkpoint:0 ‘mongoose -t 2’ ENTER
    0代表第一个窗体。

    结合parallel-ssh就能够远程使用服务器的bash环境来执行命令。

    这种场景是实用的。在一台server上用criu来对一个小程序进行checkpoint,须要criu和小程序都执行在bash中,而不是直接在ssh中,否则checkpoint得到的img文件就会包括与ssh终端相关联的信息(session id)。这样就不能在还有一台server上进行restore了,也就是实现不了migration。而假设都在bash中。就不会再有与ssh有关的信息了,在还有一台机器上就能够restore。

    tmux快捷键
    <下面转载自http://my.oschina.net/cshell/blog/135261>
    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  #顺时针旋转当前窗体的面板   
    
  • 相关阅读:
    SQL 里面的COALESCE函数
    php SESSION 不能跨页面传递
    eclipse[日文版] 的SVN 上传步骤
    从一个SVN下载的导入另一个SVN里面
    VB 活动添加item元素
    分享8款精美的jQuery图片播放插件
    java初学者必看经典
    (转载)Java NIO:NIO原理分析(二)
    (转载)Java NIO:NIO概述(一)
    磁盘格式化
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5095765.html
Copyright © 2020-2023  润新知