Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
106 lines (91 loc) · 5.01 KB

File metadata and controls

106 lines (91 loc) · 5.01 KB
Copy raw file
Download raw file
Outline
Edit and raw actions

Tmux 安装和配置

介绍

  • 说明:tmux is a "terminal multiplexer", it enables a number of terminals (or windows) to be accessed and controlled from a single terminal. tmux is intended to be a simple, modern, BSD-licensed alternative to programs such as GNU screen.
    • 大家的主要用途:提供了一个窗体组随时存储和恢复的功能,本质有点类似守护进程感。
  • 官网:https://tmux.github.io/
  • 官网 Github:https://github.com/tmux
  • 当前(201703)最新版本:2.3

安装

  • CentOS:yum install -y tmux
  • Ubuntu:apt-get install -y tmux
  • Mac:brew install tmux
  • 也可以看官网 GitHub 进行编译安装。

基本概念

  • session:一个服务器可以包含多个会话,可以理解成是一个特定的终端组合,通常将同一任务下的工作放到一个会话中。
  • window:一个会话可以包含多个窗口,一个窗口就相当于普通终端的一个标签,通常在不同的窗口中完成不同的工作。
  • pane:一个窗口可以被分割成多个小的窗格。

基础用法

  • 启动:tmux
  • 信息查询:
    • tmux list-keys 列出所有可以的快捷键和其运行的 tmux 命令
    • tmux list-commands 列出所有的 tmux 命令及其参数
    • tmux info 流出所有的 session, window, pane, 运行的进程号,等。
  • 窗口的控制:
    • session 会话:session是一个特定的终端组合。输入tmux就可以打开一个新的session
      • tmux new -s session_name 创建一个叫做 session_name 的 tmux session
      • tmux attach -t session_name 重新开启叫做 session_name 的 tmux session
      • tmux switch -t session_name 转换到叫做 session_name 的 tmux session
      • tmux list-sessions / tmux ls 列出现有的所有 session
      • tmux detach 离开当前开启的 session
      • tmux kill-server 关闭所有 session
    • window 窗口:session 中可以有不同的 window(但是同时只能看到一个 window)
      • tmux new-window 创建一个新的 window
      • tmux list-windows
      • tmux select-window -t :0-9 根据索引转到该 window
      • tmux rename-window 重命名当前 window
    • pane 面板:window 中可以有不同的 pane(可以把 window 分成不同的部分)
      • tmux split-window 将 window 垂直划分为两个 pane
      • tmux split-window -h 将 window 水平划分为两个 pane
      • tmux swap-pane -U 在指定的方向(方向有:U、D、L、R 四种)交换 pane
      • tmux select-pane -U 在指定的方向(方向有:U、D、L、R 四种)选择下一个 pane

高级用法

  • 注意: 有一个前缀快捷键的概念,也称作:<prefix>,默认快捷键:Ctrl + B,下面的这些操作都是必须先按这个快捷键后再输入对应的命令:
  • 基本操作
    • ? 列出所有快捷键;按q返回
    • d 脱离当前会话,可暂时返回Shell界面
    • s 选择并切换会话;在同时开启了多个会话时使用
    • D 选择要脱离的会话;在同时开启了多个会话时使用
    • : 进入命令行模式;此时可输入支持的命令,例如 kill-server 关闭所有tmux会话
    • [ 复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,q/Esc退出
    • ] 进入粘贴模式,粘贴之前复制的内容,按q/Esc退出
    • ~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
    • t 显示当前的时间
    • ctrl + z 挂起当前会话
  • 窗口操作
    • c 创建新窗口
    • & 关闭当前窗口
    • [0-9] 数字键切换到指定窗口
    • p 切换至上一窗口
    • n 切换至下一窗口
    • l 前后窗口间互相切换
    • w 通过窗口列表切换窗口
    • , 重命名当前窗口,便于识别
    • . 修改当前窗口编号,相当于重新排序
    • f 在所有窗口中查找关键词,便于窗口多了切换
  • 面板操作
    • " 将当前面板上下分屏(我自己改成了 |)
    • % 将当前面板左右分屏(我自己改成了 -)
    • x 关闭当前分屏
    • ! 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板
    • Ctrl + 方向键 以1个单元格为单位移动边缘以调整当前面板大小
    • Alt + 方向键 以5个单元格为单位移动边缘以调整当前面板大小
    • q 显示面板编号
    • o 选择当前窗口中下一个面板
    • 方向键 移动光标选择对应面板
    • { 向前置换当前面板
    • } 向后置换当前面板
    • Alt+o 逆时针旋转当前窗口的面板
    • Ctrl+o 顺时针旋转当前窗口的面板
    • z 最大化当前所在面板
    • page up 向上滚动屏幕,q 退出
    • page down 向下滚动屏幕,q 退出

资料

Morty Proxy This is a proxified and sanitized view of the page, visit original site.