2020-01-15 18:05:38 +08:00
|
|
|
|
---
|
|
|
|
|
layout: post
|
|
|
|
|
title: "Tmux 的使用"
|
|
|
|
|
subtitle: ""
|
|
|
|
|
description: "对 Tmux 的基本用法进行说明。"
|
|
|
|
|
excerpt: "Tmux 的 session 可在远端连接断开后继续保持运行。本文阐述了如何用 Tmux 创建和连接 session,以及如何使用 Tmux 快捷键。"
|
|
|
|
|
date: 2020-01-15 17:22:00
|
|
|
|
|
author: "Rick Chan"
|
|
|
|
|
tags: ["Applications", "Tmux"]
|
|
|
|
|
categories: ["Software"]
|
|
|
|
|
published: true
|
|
|
|
|
---
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
2018-12-12 17:22:34 +08:00
|
|
|
|
## 基本使用
|
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
tmux 可在远程登录的情况下保证链接断开后程序仍然能在后台保持运行。tmux 会保持运行,并且成为宿主程序。
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
使用 tmux 新建一个 session 的命令如下:
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
tmux new -s <session name>
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
断开连接,需要断开一个 session 的快捷键如下:
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
|
|
|
|
ctrl+b, d
|
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
列出当前全部可连接的 session 命令如下:
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
tmux ls
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
在断开的情况下,重新连接到某 session 命令如下:
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
tmux attach -t <session name>
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
如果想关闭某 session,可通过以下命令实现:
|
2018-11-27 21:31:13 +08:00
|
|
|
|
|
2019-08-20 18:26:58 +08:00
|
|
|
|
tmux kill-session -t <session name>
|
2018-12-12 17:22:34 +08:00
|
|
|
|
|
|
|
|
|
## 快捷键
|
|
|
|
|
|
2019-07-01 10:54:03 +08:00
|
|
|
|
| Keys | Description |
|
|
|
|
|
|------|-------------|
|
2019-06-26 12:01:11 +08:00
|
|
|
|
| **Session** | **会话** |
|
|
|
|
|
| ctrl+b, :new\<Enter\> | 启动新会话 |
|
|
|
|
|
| ctrl+b, s | 列出所有会话 |
|
|
|
|
|
| ctrl+b, $ | 重命名当前会话 |
|
|
|
|
|
| **Window** | **窗口 (标签页)** |
|
|
|
|
|
| ctrl+b, c | 创建新窗口 |
|
|
|
|
|
| ctrl+b, w | 列出所有窗口 |
|
|
|
|
|
| ctrl+b, n | 后一个窗口 |
|
|
|
|
|
| ctrl+b, p | 前一个窗口 |
|
|
|
|
|
| ctrl+b, f | 查找窗口 |
|
|
|
|
|
| ctrl+b, , | 重命名当前窗口 |
|
|
|
|
|
| ctrl+b, & | 关闭当前窗口 |
|
|
|
|
|
| **Pane** | **窗格(分割窗口)** |
|
|
|
|
|
| ctrl+b, % | 将当前窗格平分为左右两块 |
|
|
|
|
|
| ctrl+b, ” | 将当前窗格平分为上下两块 |
|
|
|
|
|
| ctrl+b, o | 在当前窗口中选择下一窗格 |
|
|
|
|
|
| ctrl+b, x | 关闭当前窗格 |
|
|
|
|
|
| ctrl+b, { | 与上一个窗格交换位置 |
|
|
|
|
|
| ctrl+b, } | 与下一个窗格交换位置 |
|
|
|
|
|
| **Operation** | **操作** |
|
|
|
|
|
| ctrl+b, d | 离开当前会话 |
|
|
|
|
|
| ctrl+b, t | 窗口中央显示一个数字时钟 |
|
|
|
|
|
| ctrl+b, ? | 列出所有快捷键 |
|
|
|
|
|
| ctrl+b, : | 命令提示符 |
|
|
|
|
|
| ctrl+b, [ | 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出,光标键和Pg Up/Dow 操作翻页滚屏 |
|
2019-08-20 18:26:58 +08:00
|
|
|
|
|
|
|
|
|
## 嵌套使用
|
|
|
|
|
|
|
|
|
|
Tmux 可以嵌套使用,在本地嵌套使用需要 unset $TMUX 环境变量。最常见的是在本地开启一个 Tmux,之后远程到服务器,在服务器上再 Tmux,形成本地 Tmux 嵌套 远程 Tmux 的形式。此时按 1 次 ctrl+b 将激活外层 Tmux,之后按对应的快捷键;按 2 次 ctrl+b 将激活内层 Tmux,之后再按对应的快捷键。
|