linux tmux 命令
tmux(Terminal Multiplexer)是一款终端复用工具,它允许你在单一终端窗口中创建多个虚拟终端会话,并在后台持续运行。相比普通终端操作,tmux 提供了更强大的会话管理功能。
主要优势:
- 会话持久化:即使连接中断,会话仍保留在服务器上
- 多窗口/面板管理:高效组织多个任务环境
- 会话共享:多个用户可同时接入同一会话
安装 tmux
大多数 Linux 发行版都可以通过包管理器安装 tmux:
示例
# ubuntu/debian
sudo apt-get install tmux
# centos/RHEL
sudo yum install tmux
# macos (使用 Homebrew)
brew install tmux
安装完成后,直接输入 tmux 即可启动一个新会话。
基本概念
会话(Session)
tmux 会话是一个独立的运行环境,可以包含多个窗口。即使断开连接,会话也会继续在后台运行。
窗口(Window)
每个会话可以包含多个窗口,类似于浏览器标签页。
面板(Pane)
每个窗口可以分割为多个面板,实现同时查看和操作多个终端。
常用命令与快捷键
所有 tmux 操作都需要先按下前缀键(默认是 Ctrl+b),再输入命令键。
会话管理
命令/快捷键 | 描述 |
---|---|
`tmux new -s |
新建名为 name 的会话 |
`Ctrl+b d` | 从当前会话分离(会话仍在后台运行) |
`tmux ls` | 列出所有会话 |
`tmux attach -t |
重新连接指定会话 |
`Ctrl+b $` | 重命名当前会话 |
`Ctrl+b s` | 切换会话 |
窗口管理
命令/快捷键 | 描述 |
---|---|
`Ctrl+b c` | 新建窗口 |
`Ctrl+b &` | 关闭当前窗口 |
`Ctrl+b n` | 切换到下一个窗口 |
`Ctrl+b p` | 切换到上一个窗口 |
`Ctrl+b |
切换到指定编号的窗口 |
`Ctrl+b ,` | 重命名当前窗口 |
面板管理
命令/快捷键 | 描述 |
---|---|
`Ctrl+b %` | 垂直分割当前面板 |
`Ctrl+b “` | 水平分割当前面板 |
`Ctrl+b |
在不同面板间切换焦点 |
`Ctrl+b x` | 关闭当前面板 |
`Ctrl+b z` | 最大化/恢复当前面板 |
`Ctrl+b Space` | 切换面板布局 |
配置 tmux
tmux 的配置文件通常位于 ~/.tmux.conf。以下是一些常用配置示例:
示例
# 设置前缀键为 Ctrl+a(比默认的 Ctrl+b 更方便按)
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# 启用鼠标支持(可通过鼠标点击切换面板/窗口)
set -g mouse on
# 设置状态栏颜色
set -g status-bg black
set -g status-fg white
# 设置面板边框颜色
set -g pane-border-style fg=green
set -g pane-active-border-style fg=red
# 设置窗口从1开始编号(默认是0)
set -g base-index 1
setw -g pane-base-index 1
修改配置后,执行 Ctrl+b : 并输入 source-file ~/.tmux.conf 可以重新加载配置。
实用技巧
1. 会话恢复
即使服务器重启,也可以恢复 tmux 会话:
示例
# 安装插件
git clone https://www.php.cn/link/5159a7b434755d9bb3d0041e46e26f6a ~/clone/path
# 在 .tmux.conf 中添加
set -g @plugin ‘tmux-plugins/tmux-resurrect’
2. 复制模式
- Ctrl+b [ 进入复制模式
- 使用方向键移动光标
- 按空格开始选择,回车复制
- Ctrl+b ] 粘贴内容
3. 同步输入
在多个面板中同时输入相同命令:
示例
# 开启同步模式
Ctrl+b :setw synchronize-panes on
# 关闭同步模式
Ctrl+b :setw synchronize-panes off
4. 快速搭建开发环境
示例
# 创建一个包含3个面板的开发会话
tmux new -s dev -d
tmux send-keys -t dev:0 “vim” C-m
tmux split-window -h -t dev:0
tmux split-window -v -t dev:0.1
tmux attach -t dev
常见问题解决
1. 鼠标无法滚动
在 .tmux.conf 文件中添加:
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
2. 颜色显示异常
确保终端支持 256 色,添加如下配置:
set -g default-terminal "screen-256color"
3. 快捷键冲突
如果某些快捷键与其他工具冲突,可以在配置文件中自定义绑定。
学习路径建议
- 首先掌握基础会话管理(创建、分离、重连)
- 练习窗口和面板的基本操作
- 熟悉常用快捷键
- 根据需求个性化配置
- 探索高级功能和插件
随着不断实践,你会发现 tmux 如何显著提升你的终端工作效率。