tmux(Terminal Multiplexer)是一款终端复用工具,它允许你在单一终端窗口中创建多个虚拟终端会话,并在后台持续运行。相比普通终端操作,tmux 提供了更强大的会话管理功能。
主要优势:
大多数 Linux 发行版都可以通过包管理器安装 tmux:
# Ubuntu/Debian
sudo apt-get install tmux
# CentOS/RHEL
sudo yum install tmux
# macOS (使用 Homebrew)
brew install tmux
安装完成后,直接输入 tmux 即可启动一个新会话。
tmux 会话是一个独立的运行环境,可以包含多个窗口。即使断开连接,会话也会继续在后台运行。
每个会话可以包含多个窗口,类似于浏览器标签页。
每个窗口可以分割为多个面板,实现同时查看和操作多个终端。
所有 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.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 可以重新加载配置。
即使服务器重启,也可以恢复 tmux 会话:
# 安装插件
git clone https://www.php.cn/link/5159a7b434755d9bb3d0041e46e26f6a ~/clone/path
# 在 .tmux.conf 中添加
set -g @plugin 'tmux-plugins/tmux-resurrect'
在多个面板中同时输入相同命令:
# 开启同步模式
Ctrl+b :setw synchronize-panes on
# 关闭同步模式
Ctrl+b :setw synchronize-panes off
在 .tmux.conf 文件中添加:
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
确保终端支持 256 色,添加如下配置:
set -g default-terminal "screen-256color"
如果某些快捷键与其他工具冲突,可以在配置文件中自定义绑定。
随着不断实践,你会发现 tmux 如何显著提升你的终端工作效率。
以上就是linux终端多路复用器是什么-tmux 命令使用与实例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号