程序员效率神器:一文掌握 tmux(服务器开发必备工具)

在日常开发或服务器运维中,你可能遇到过这些问题:

  • SSH 登录服务器跑任务,一断网程序就停止
  • 一个终端需要同时运行多个任务
  • 想一边看日志一边调试程序
  • 长时间运行脚本但又不想一直开着电脑

如果你遇到过这些问题,那么你一定需要一个工具 ------ tmux

很多后端工程师、运维工程师、AI工程师都把 tmux 当作 服务器必备工具

本文将带你从 0 到 1 掌握 tmux,包括:

  • tmux 是什么
  • tmux 的核心概念
  • tmux 安装方法
  • tmux 常用命令
  • 实战使用场景
  • tmux 高效配置技巧

看完这篇文章,你就可以熟练使用 tmux 了。


一、tmux 是什么

tmux(Terminal Multiplexer) 是一个 终端复用工具

简单理解:

tmux 可以让一个终端窗口同时运行多个终端。

你可以在一个终端中:

  • 同时运行多个程序
  • 分屏查看日志
  • 切换不同任务
  • 断线后继续运行任务

例如:

diff 复制代码
+-------------------------+
|       程序运行          |
+------------+------------+
|   日志监控  |   shell    |
+------------+------------+

这样就像在终端里拥有了一个 轻量级 IDE


二、为什么程序员都在用 tmux

tmux 的核心价值主要有三个:

1 远程任务不会中断

例如你在服务器运行:

复制代码
python train.py

如果 SSH 断开:

程序就停止了。

使用 tmux:

复制代码
tmux
python train.py

即使:

  • 关闭电脑
  • 网络断开

程序仍然在后台运行。


2 一个终端同时运行多个任务

你可以:

复制代码
窗口1 → 后端服务
窗口2 → 查看日志
窗口3 → shell

这样开发效率会非常高。


3 强大的分屏功能

tmux 支持像 IDE 一样的分屏:

diff 复制代码
+---------------------+
|       pane1         |
+-----------+---------+
|  pane2    | pane3   |
+-----------+---------+

可以同时查看多个终端任务。


三、tmux 核心概念

在使用 tmux 之前,需要理解三个核心概念。

1 Session(会话)

Session 是 tmux 的顶层单位。

一个 session 可以包含多个窗口。

复制代码
session
 ├── window1
 ├── window2
 └── window3

2 Window(窗口)

Window 类似浏览器的 标签页

每个窗口可以运行不同任务。

例如:

复制代码
window1 → 运行程序
window2 → 查看日志
window3 → shell

3 Pane(面板)

Pane 就是 终端分屏

diff 复制代码
+-------------+
| pane1       |
+------+------+
| p2   | p3   |
+------+------+

四、tmux 安装

Ubuntu / Debian

sql 复制代码
sudo apt update
sudo apt install tmux

检查版本:

复制代码
tmux -V

CentOS / RHEL

复制代码
sudo yum install tmux

复制代码
sudo dnf install tmux

macOS

如果安装了 Homebrew:

复制代码
brew install tmux

Windows

Windows 推荐使用 WSL

复制代码
sudo apt install tmux

五、tmux 基本使用

1 启动 tmux

复制代码
tmux

创建指定 session:

arduino 复制代码
tmux new -s dev

2 查看 session

bash 复制代码
tmux ls

示例:

makefile 复制代码
dev: 1 windows

3 进入 session

arduino 复制代码
tmux attach -t dev

简写:

css 复制代码
tmux a -t dev

4 离开 tmux(不中断程序)

按:

css 复制代码
Ctrl + b

然后按:

复制代码
d

即:

css 复制代码
Ctrl + b → d

这叫 detach


5 关闭 session

在 tmux 中输入:

bash 复制代码
exit

或:

复制代码
Ctrl + d

六、tmux 常用快捷键

所有 tmux 操作都需要先按:

css 复制代码
Ctrl + b

这是 tmux 的 前缀键(Prefix Key)


窗口操作

操作 快捷键
新建窗口 Ctrl+b c
下一个窗口 Ctrl+b n
上一个窗口 Ctrl+b p
列出窗口 Ctrl+b w
关闭窗口 Ctrl+b &

分屏操作

操作 快捷键
垂直分屏 Ctrl+b %
水平分屏 Ctrl+b "
切换 pane Ctrl+b 方向键
关闭 pane Ctrl+b x

Session 操作

操作 命令
查看 session tmux ls
新建 session tmux new -s name
进入 session tmux attach -t name
删除 session tmux kill-session -t name

七、tmux 实战场景

场景1:服务器训练任务

vbscript 复制代码
ssh server
tmux new -s train
python train.py

离开:

css 复制代码
Ctrl+b d

重新连接:

arduino 复制代码
tmux attach -t train

场景2:开发环境

复制代码
window1 → 后端服务
window2 → 前端开发
window3 → 日志监控

场景3:日志监控

bash 复制代码
pane1 → tail -f log
pane2 → shell
pane3 → 服务运行

八、tmux 提升效率的小技巧

1 快速重命名窗口

css 复制代码
Ctrl+b ,

2 查看所有快捷键

css 复制代码
Ctrl+b ?

3 杀死 session

perl 复制代码
tmux kill-session -t session_name

九、总结

tmux 是 Linux 开发者的 效率神器

它可以:

  • 在一个终端运行多个任务
  • 支持窗口和分屏
  • 远程任务断线不中断
  • 非常适合服务器开发

如果你经常:

  • 使用 Linux
  • 远程开发
  • 跑训练任务
  • 运行脚本

那么 tmux 是一个必须掌握的工具。


如果你觉得这篇文章有帮助,欢迎点赞、收藏。

相关推荐
何以解忧,唯有..1 分钟前
Go 语言运算符详解:从基础到实战
开发语言·后端·golang
XovH3 分钟前
MySQL 系列:第2篇 库和表,一切的容器
后端
笨鸟飞不快7 分钟前
当定时任务涨到 180+,我们为什么从 Elastic Job 迁到了 XXL-JOB
后端
Kir1to7 分钟前
分布式锁基础与三种实现方式对比
后端
MariaH8 分钟前
Web服务器开发
后端
程序边界10 分钟前
凌晨三点批量掉授权,我花了四小时才搞明白LAC心跳链路是怎么算的
后端
叫我:松哥10 分钟前
基于Flask的在线考试刷题系统设计与实现,集智能练习、过程追踪、深度分析与个性化引导
数据库·人工智能·后端·python·flask·boostrap
AI人工智能_电脑小能手10 分钟前
【大白话说Java面试题 第106题】【并发篇】第6题:synchronized 锁的锁对象可以是什么?
java·后端·面试
Rain50910 分钟前
2.3. 安全配置:环境变量与 API 密钥管理
前端·人工智能·后端·安全·ai·node.js·ai编程
yinchnag11 分钟前
Go 语言 map 底层实现
后端·源码阅读