一、tmux是干什么的?

百度百科的解释很到位:tmux是指通过一个终端登录远程主机并运行后,在其中可以开启多个控制台的终端复用软件。

说白了就是复用软件,复用的什么软件呢? 你可以理解成复用shell。

另一个作用就是,比如说你通过ssh连接到远程的服务器,正在scp一个很大的文件,但是传了一般,电脑掉电了,这是后怎么办?你只能重新传输,但是tmux就不需要,你可

以通过tmux找到刚才的会话继续执行。

下图1是tmux以后复用shell以后的效果:

图1 tmux运行效果图

左下角:tmux会话名称

下方中间:当前会话中的tmux窗口,一共有4个,当前用的第4个,并且我在第4个窗口又分屏了3个窗口

右下角:当前日期

二、如何安装tmux

tmux是支持MAC和linux系统的,因为我没用过MAC所以本文只涉及Linux相关

在linux中可以直接使用下面命令安装:

$ sudo yum install tmux -y

三、tmux详细介绍

1. tmux配置文件

      每当开启一个新的会话时,Tmux 都会先读取 ~/.tmux.conf 这个文件。该文件中存放的就是对 Tmux 的配置。

我使用的详细配置如下(为了你们方便粘贴我就不截图了):

set -g utf8 on
          # make tmux display things in 256 colors
          set -g default-terminal "screen-256color"
          unbind C-b
          set -g prefix C-b  #设置tmux命令前缀
          # start selecting text typing 'v' key (once you are in copy mode)
          bind-key -t vi-copy v begin-selection
          # copy selected text to the system's clipboard
          #bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
          setw -g mode-keys vi
          #set-option -g default-command "reattach-to-user-namespace -l bash"
          #bind a reload key
          bind R source-file ~/.tmux.conf ; display-message "Config reloaded.."
          # set scrollback history to 10000 (10k)
          set -g history-limit 10000
          set -g base-index 1
          set -g status-fg white
          set -g status-bg black
          set-option -g status-justify centre
          # 左下角
          set-option -g status-left '#[bg=black,fg=green][#[fg=cyan]#S#[fg=green]]'
          set-option -g status-left-length 20
          #窗口列表
          setw -g automatic-rename on
          set-window-option -g window-status-format '#[dim]#I:#[default]#W#[fg=grey,dim]'
          set-window-option -g window-status-current-format '#[fg=cyan,bold]#I#[fg=blue]:#[fg=cyan]#W#[fg=dim]'
          #右下角
           set -g status-right '#[fg=green][#[fg=cyan]%Y-%m-%d#[fg=green]]'

      2. 如何启动tmux?
         $ tmux 回车就启动,看到屏幕上出现图1中的效果
  
      3. tmux快捷键介绍
          这一步的前提是你启动了tmux,另外就是在tmux命令必须有一个前缀,默认是ctrl+b,当前如果你觉得不方便可以在配置文件中更改。
          ctrl + b 以前按然后松手 按 s,会显示所有的会话。
          c  创建一个新的窗口,你会发现图一中下面中部列表中多了一个。
          n  显示下一个窗口
          p  显示上一个窗口
          w  列出所有窗口,可以通过方向键控制,回车进入相应的窗口
          % 竖列开一个窗口
          "   水平开一个窗口
          ctrl + d 退出当前窗口, 这个不需要加命令前缀
          下面的命令是查看历史输出:
          前缀命令后 + PageUp 或者 [
           
          此时屏幕右上角会显示[33/144],表示一共有144行输出,目前光标在第33行
          进入这个模式可以使用v选择,y复制,h、j、k、l进行移动光标。(当然这是在配置文件中加入了配合才有的)
          最后用q退出。
 
          最后一个是创建一个新会话:
          在终端输入 tmux -s new <session-name>
          
          差不多就这些了,用起来很方便,比如说一个将屏幕作用用来vim编辑脚本,右边窗口调用脚本看输出结果,这样就不用来回切换了,很省事。
 
          更多详情参考:http://blog.jobbole.com/87584/
          
      

运维基础工具tmux介绍及使用的更多相关文章

  1. 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍

    01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...

  2. 第一阶段·Linux运维基础-第2章·Linux系统目录结构介绍

    01 变量与PS1 02 添加用户 03 关闭SELinux 04 关闭iptables 05 显示中文乱码排查过程 06 总结 07 目录结构课程内容 08 Linux目录结构特点 09 Linux ...

  3. HBase运维基础--元数据逆向修复原理

    背景 鉴于上次一篇文章——“云HBase小组成功抢救某公司自建HBase集群,挽救30+T数据”的读者反馈,对HBase的逆向工程比较感兴趣,并咨询如何使用相应工具进行运维等等.总的来说,就是想更深层 ...

  4. Ansible运维自动化工具19个常用模块使用实例【转】

    一.模块列表 1.setup 2.ping 3.file 4.copy 5.command 6.shell 7.script 8.cron 9.yum 10.service 11.group 12.u ...

  5. 阿里云运维部署工具AppDeploy详细教程

    AppDeploy是一个通过SSH实现的命令行工具,可完成应用部署和远程运维管理.当前工具实现为两个版本:普通版(伪代码描述语言)和Python版.Python版使用Python语法规则,可实现您的各 ...

  6. Linux系统运维基础测试题

    1    Linux运维基础测试题(第一关) 通过这段时间学习Linux基础命令,为了检测自己对Linux基础命令掌握的情况,从网上整理13到测试题,并将其整理出来供大家参考学习. 1.1    习题 ...

  7. Linux运维基础采集项

    1. Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑.所以,依靠强大的监控系统,收集尽可能多的指标,意义重大.但哪些指标才是有意义的呢,本着从实践中来的思想,各位工 ...

  8. 盘点Linux运维常用工具(一)-web篇之httpd

    #前言:想把自己学的各种服务进行分类归档起来,于是就写了盘点Linux运维常用工具,Linux方面使用到的web应用服务有httpd(apache).nginx.tomcat.lighttpd,先了解 ...

  9. Linux运维基础

    一.服务器硬件 二.Linux的发展史 三.Linux的系统安装和配置 四.Xshell的安装和优化 五.远程连接排错 六.Linux命令初识 七.Linux系统初识与优化 八.Linux目录结构 九 ...

随机推荐

  1. UVA-11248 Frequency Hopping (最大流+最小割)

    题目大意:给一张网络,问是否存在一条恰为C的流.若不存在,那是否存在一条弧,使得改动这条弧的容量后能恰有为C的流? 题目分析:先找出最大流,如果最大流不比C小,那么一定存在一条恰为C的流.否则,找出最 ...

  2. 基于Oracle的SQL优化(崔华著)-学习笔记

    201704171025 01. 列rows记录的就是执行计划中每一个执行步骤所对应的Cardinality的值 列Cost(%CPU)记录的就是执行计划中的每一个执行步骤对应的成本 02. Comp ...

  3. bzoj1067

    题意: 给你下雨量,让你判断每一句话是否正确 题解: 线段树 用来维护判断 代码: #include <cstdio> #include <cstring> #include ...

  4. java之double类型数值的比较

    先看demo: public class L26 { /** * @param args */ public static void main(String[] args) { // TODO Aut ...

  5. OMAP4之DSP核(Tesla)软件开发学习(二)Linux内核驱动支持OMAP4 DSP核

    注:必须是Linux/arm 3.0以上内核才支持RPMSG,在此使用的是.config - Linux/arm 3.0.31 Kernel Configuration.(soure code fro ...

  6. 腾讯云 服务器 ubuntu 16.04 python3 环境

    积分 - 164 排名 - 183650 首先把腾讯云上的服务器,重装系统,选择64位ubuntu16.04,最低配也要用64位的…… 装好后,首先切换 python 版本: sudo update- ...

  7. Cause: org.postgresql.util.PSQLException: ERROR: cached plan must not change result type的前因后果

    首先说明一下遇到的问题: PG数据库,对其中的某张表增加一列后,应用报错,信息如下: 应用使用相关框架如下:SpringBoot.MyBatis. ### Cause: org.postgresql. ...

  8. 微信小程序页面跳转的四种方法

    wx.navigateTo({}) ,保留当前页面,跳转到应用内的某个页面,使用 wx.navigateBack 可以返回; 示例: 1 wx.navigateTo({ 2 url:'../test/ ...

  9. C++可调用对象与函数表

    c++的可调用对象 有 函数 函数指针 lambda表达式 bind的对象 重载了函数调用运算符的类 如何调用? 函数调用 void afuncToCall() { cout << &qu ...

  10. ubuntu 11.04 old sources.list

    #deb cdrom:[Ubuntu 11.04 _Natty Narwhal_ - Release amd64 (20110427.1)]/ natty main restricted # See ...