type
status
date
slug
tags
summary
category
password
icon

tmux简介

tmux是一个终端复用器,与screen作用类似,但是有着更加丰富的功能和更加便捷的快捷键。
在tmux中有三个基本概念,分别为session/window/pane。简单来说,三者的作用如下:
  1. session:一个独立的会话,连接断开时会话仍旧保留;
  1. window:一个session可以包含多个window;
  1. pane:一个window可以包含多个pane,每一个pane都类似于一个独立的bash,可以在上面开启自己的进程。pane是对window的一种分割,示意如下:
notion image
三者的包含关系如下:
notion image
实际使用时,若有多个任务,可以开启若干session(只含有一个window和一个pane),也可以在一个session中开启多个window和多个pane。

最简使用流程

  1. 新建session:tmux new -s <session-name>
  1. 在session中运行所需程序;
  1. 按下快捷键ctrl+b d 与session分离;(先按下ctrl+b,松开后再按下d
  1. 下次使用时,重新连接到session:tmux attach-session -t <session-name>

基本操作

session相关

  1. 新建session
    1. 在terminal上输入tmux命令,会按照id(name)从0开始的顺序生成新的session
    2. 显示指明session-name:tmux new -s <session-name>
  1. 与session分离
    1. 若session终端可用,可以直接输入tmux detach
    2. 若session终端被进程占据,通过快捷键的方式detach:ctrl+b d
  1. 杀死session
    1. tmux kill-session -t <session-name>
    2. 当session只有一个window和pane时,按下ctrl+d就会直接删除session。
  1. 重新连接session
    1. tmux attach -t <session-name>
  1. 在session间来回切换
    1. tmux switch -t <session-name>
    2. 快捷键ctrl+b s,通过上下左右来切换session/window/pane。
  1. 重命名session
    1. tmux rename-session -t <old-session-name> <new-session-name>

window相关

  1. 新建window
    1. tmux new-window -n <window-name>
    2. 快捷键ctrl+b c
  1. 在一个session内切换window
    1. 快捷键ctrl+b p 切换到上一个窗口(按照状态栏的顺序)
    2. 快捷键ctrl+b n 切换到下一个窗口(按照状态栏的顺序)
    3. 快捷键ctrl+b w 从列表中选择窗口(与ctrl+b s 类似,但是这个快捷键会提前扩展开所有的window)
  1. 重命名window
    1. tmux rename-window -t old_name new_name
  1. 杀死window
    1. tmux kill-window -t <window-name>
    2. 当window只有一个pane时,按下ctrl+d就会直接删除window。

pane相关

  1. 划分pane
    1. 划分为上下两个窗格:tmux split-window。或者直接使用快捷键ctrl+b %
    2. 划分为左右两个窗格:tmux split-window -h。或者直接使用快捷键ctrl+b "
  1. 切换pane
    1. tmux swap-pane -U或D或L或R(分别对应上下左右)。或者直接使用快捷键ctrl+b 上下左右方向键
  1. 杀死pane
    1. ctrl+d

其他操作

  1. 列出tmux当前所有会话:tmux ls
  1. 列出所有快捷键,及其对应的 Tmux 命令:tmux list-keys
  1. 在tmux会话终端内上下翻屏(快捷键):先键入ctrl+b [ ,后直接用鼠标滚轮或者上下方向键即可。
 
参考链接
Tmux 使用教程
Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。 本文介绍如何使用 Tmux。 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。 用户与计算机的这种临时的交互,称为一次"会话"(session) 。 会话的一个重要特点是,窗口与其中启动的进程是 连在一起 的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。 一个典型的例子就是, SSH 登录 远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。 为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。 Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。 (1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。 (2) 它可以让新窗口"接入"已经存在的会话。 (3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。 (4)它还支持窗口任意的垂直和水平拆分。 类似的终端复用器还有 GNU Screen。Tmux 与它功能相似,但是更易用,也更强大。 Tmux 一般需要自己安装。 # Ubuntu 或 Debian $ sudo apt-get install tmux # CentOS 或 Fedora $ sudo yum install tmux # Mac $ brew install tmux 安装完成后,键入 tmux 命令,就进入了 Tmux 窗口。 上面命令会启动 Tmux 窗口,底部有一个状态栏。状态栏的左侧是窗口信息(编号和名称),右侧是系统信息。 按下 Ctrl+d或者显式输入 exit 命令,就可以退出 Tmux 窗口。 Tmux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是 Ctrl+b,即先按下 Ctrl+b ,快捷键才会生效。 举例来说,帮助命令的快捷键是 Ctrl+b ?。它的用法是,在 Tmux 窗口中,先按下 Ctrl+b,再按下?
Tmux 使用教程
服务器使用教程隧道搭建
GraphPKU
GraphPKU
北京大学张牧涵老师团队
公告
type
status
date
slug
tags
summary
category
password
icon
组会排期:
分享者1
分享者2
日期
毛彦升
杨昊桐
2.21
刘晔玮
2.28
王雨轩
江凡
3.7
汤平之
3.14
何梓源
3.21
华羽宸
孙一可
4.11
张雪峰
4.18
施沛廷
马唯硕
李自安
胡逸
亢世嘉
王奕丁
毛彦升
王彦博
彭鑫港
王希元
徐宇飞
孟繁续
陈立斌
吴青阳
地点:资源西楼2202
腾讯会议:694-682-1555
线下午餐时间 12:00
会议开始时间 12:30