Tmux 简单使用
在 Linux 或 Unix 系统的开发和运维工作中,经常会遇到需要同时管理多个终端会话的情况。Tmux(Terminal Multiplexer)是一个强大的终端复用工具,它可以让你在一个终端窗口中创建、管理多个会话、窗口和面板,极大地提高工作效率。本文将详细介绍 Tmux 的基本使用方法,包括安装、常用命令、会话管理、窗口操作、面板分割等内容。
目录#
安装 Tmux#
在 Ubuntu/Debian 上安装#
sudo apt-get update
sudo apt-get install tmux在 CentOS/RHEL 上安装#
sudo yum install tmux在 macOS 上安装(使用 Homebrew)#
brew install tmuxTmux 基本概念#
- 会话(Session):一个独立的工作环境,可以包含多个窗口。
- 窗口(Window):类似于传统终端中的一个标签页,每个窗口可以运行不同的程序。
- 面板(Pane):窗口可以进一步分割成多个面板,每个面板可以独立运行命令。
会话管理#
创建会话#
tmux new -s <session-name> # 创建一个名为 <session-name> 的新会话例如:
tmux new -s myproject列出会话#
tmux ls连接会话#
tmux attach -t <session-name> # 连接到名为 <session-name> 的会话例如:
tmux attach -t myproject分离会话#
在会话中按下 Ctrl + b (这是 Tmux 的默认前缀键),然后按下 d,即可分离当前会话,会话会在后台继续运行。
重命名会话#
在会话中按下 Ctrl + b,然后按下 $,输入新的会话名称并回车。
窗口操作#
创建窗口#
在会话中按下 Ctrl + b,然后按下 c,会创建一个新窗口。
切换窗口#
- 按数字键:按下
Ctrl + b,然后按下0 - 9中的数字键,切换到对应的窗口(窗口编号从 0 开始)。 - 使用方向键:按下
Ctrl + b,然后按下p(上一个窗口)或n(下一个窗口)。
重命名窗口#
在窗口中按下 Ctrl + b,然后按下 ,,输入新的窗口名称并回车。
关闭窗口#
在窗口中运行 exit 命令,或者按下 Ctrl + b,然后按下 &(需要确认)。
面板分割#
水平分割面板#
在窗口中按下 Ctrl + b,然后按下 ",会水平分割当前窗口为上下两个面板。
垂直分割面板#
在窗口中按下 Ctrl + b,然后按下 %,会垂直分割当前窗口为左右两个面板。
切换面板#
- 使用方向键:按下
Ctrl + b,然后按下方向键(↑、↓、←、→)切换到不同的面板。 - 按编号:按下
Ctrl + b,然后按下o循环切换面板,或者按下q显示面板编号,再按下对应的编号切换。
调整面板大小#
- 按下
Ctrl + b,然后按下:,输入resize-pane -U <number>(向上调整number行)、resize-pane -D <number>(向下调整number行)、resize-pane -L <number>(向左调整number列)、resize-pane -R <number>(向右调整number列)。 - 也可以使用鼠标(需要在 Tmux 配置中启用鼠标支持,在
.tmux.conf中添加set -g mouse on),直接拖动面板边界调整大小。
关闭面板#
在面板中运行 exit 命令,或者按下 Ctrl + b,然后按下 x(需要确认)。
常用快捷键#
| 操作 | 快捷键组合(先按 Ctrl + b,再按以下键) |
|---|---|
| 分离会话 | d |
| 创建窗口 | c |
| 切换窗口(数字键) | 0 - 9 |
| 上一个窗口 | p |
| 下一个窗口 | n |
| 重命名窗口 | , |
| 关闭窗口 | & |
| 水平分割面板 | " |
| 垂直分割面板 | % |
| 切换面板(方向键) | ↑、↓、←、→ |
| 循环切换面板 | o |
| 显示面板编号 | q |
| 调整面板大小(命令行) | : 后输入调整命令 |
| 关闭面板 | x |
最佳实践#
- 配置 Tmux:创建
~/.tmux.conf文件,进行个性化配置。例如:
set -g prefix C-a # 修改前缀键为 Ctrl + a(默认是 Ctrl + b)
unbind C-b # 取消默认的 Ctrl + b 前缀键绑定
set -g mouse on # 启用鼠标支持
set -g status-left-length 20 # 设置状态栏左侧长度
set -g status-right-length 100 # 设置状态栏右侧长度
set -g status-interval 5 # 设置状态栏更新间隔(秒)然后重新加载配置:tmux source-file ~/.tmux.conf。
- 会话命名规范:给会话、窗口和面板起有意义的名称,方便管理和识别。
- 定期保存会话:虽然 Tmux 会话在后台运行,但为了防止意外(如系统故障),可以定期使用
tmux save-buffer(保存当前面板内容到缓冲区)和tmux save-session(保存会话到文件)等命令进行备份。
参考#
- Tmux 官方文档
- 《Tmux: Productive Mouse-Free Development》(书籍)
通过本文的介绍,你应该能够掌握 Tmux 的基本使用方法,在日常的终端工作中提高效率。Tmux 还有很多高级功能和插件可以进一步探索,以满足更复杂的工作需求。