使用 tmux:面向高级用户的终端复用器

热门:
升级您的服务器配置! 申请 AVA 并使用 立减 15%
使用优惠码:

如何使用 tmux:面向高级用户的终端多路复用器

tmux

是一款改变游戏规则的终端多路复用器,通过在一个终端中管理多个会话、窗格和持久化工作流来提升生产力。无论是开发者、sysadmin,还是任何在远程服务器上工作的人,

tmux

都能让你的任务保持有序且具备韧性。本指南通过实用示例和技巧,简化

tmux

的使用,帮助你大幅提升命令行效率。

什么是 tmux?

tmux 是一个开源的终端多路复用器,可实现:

  • 在一个终端内运行多个 shell 会话

  • 持久化会话(即使断开连接后仍然存在)

  • 窗格和窗口拆分

  • 跨用户共享会话

  • 无需离开终端即可轻松在任务之间切换

这就像为你的终端配备了一个平铺式窗口管理器,随时可用——即使是在缓慢的 SSH 连接上也是如此。

 安装 tmux

在 Debian/Ubuntu 上:

sudo apt install tmux

在 CentOS/RHEL 上:

sudo yum install tmux

在 macOS 上:

brew install tmux

开始使用 tmux

要启动一个新的 tmux 会话:

tmux

你现在已经进入一个新会话。但要高效使用它,你需要了解一些快捷键。

默认前缀:Ctrl + b

所有 tmux 命令都通过一个前缀键触发,默认是:

Ctrl + b

所以先按 Ctrl + b,再按 % 就会创建一个垂直分屏,依此类推。

tmux 必备命令

命令操作
tmux启动一个新会话
tmux new -s mysession启动一个命名会话
tmux attach -t mysession重新连接到一个会话
tmux ls列出会话
tmux kill-session -t mysession结束一个会话
exit退出当前窗格/窗口(或通过 tmux kill-pane 结束)

高级技巧与窍门

1. 使用命名会话实现持久化

tmux new -s setup-server("name-your-session")
Ctrl + b,然后 “
→ 你会得到两个水平面板:上方和下方

随时重新连接:

tmux attach -t setup-server

🧮 2. 使用会话脚本节省时间

创建 .tmux.conf 或 shell 脚本来自动化设置:

#!/bin/bash
tmux new-session -d -s dev
tmux send-keys -t dev 'cd ~/project && vim' C-m
tmux split-window -h
tmux send-keys 'htop' C-m
tmux attach -t dev

🧬 3. 与另一位用户共享会话

允许协作式终端会话(需要共享权限):

sudo chmod +s /usr/bin/tmux
tmux -S /tmp/shared attach

⚙ 4. 自定义 .tmux.conf

示例:

# 将前缀设置为 Ctrl + a(类似 GNU screen)

unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# 鼠标支持

set -g mouse on

# 更好的颜色

set -g default-terminal "screen-256color"

重新加载配置:

tmux source-file ~/.tmux.conf

 使用场景:通过 SSH 使用 tmux

通过 SSH 管理远程 VPS 时:

  1. 通过 SSH 连接

  2. 启动一个 tmux 会话:

    tmux new -s remote
  3. 运行更新或长时间进程(例如 apt upgrade)

  4. 随时断开连接——会话会持续存在

  5. 稍后重新连接:

    tmux attach -t remote

💡 这对于不稳定的连接来说非常有价值,尤其是在移动网络或卫星链路上。

tmux 是命令行工具库中最强大的工具之一。无论你是在编写代码、监控服务器,还是远程管理多个任务,tmux 都能提供生产力、持久性和精确性。一旦掌握,它就会变得不可或缺——节省时间、保留会话,并像专业人士一样组织你的终端工作流。

结论

tmux

将你的终端变成一个强大而灵活的工作空间,非常适合多任务处理、远程服务器管理或协作编程。借助上面的示例和技巧,你可以快速设置会话、自动化工作流并保持任务持久运行。无论你是开发者还是 sysadmin,

tmux

都能简化你的命令行体验,节省时间并提升效率。