tmux 常用语法总结:服务器后台运行任务必备
1. tmux 是什么?
tmux 是一个终端复用工具,常用于 Linux 服务器、远程 SSH、深度学习训练、模型下载、长期脚本运行等场景。
它最大的作用是:
即使你断开 SSH、关闭终端,tmux 里的任务也会继续运行。
比如你在服务器上下载模型:
huggingface-cli download ...
如果直接在普通终端运行,SSH 一断,任务可能就停了。
但如果放在 tmux 里运行,你退出终端后任务仍然会继续。
2. 创建 tmux 会话
创建一个新的 tmux 会话:
tmux
更推荐给会话起名字:
tmux new -s clip_download
其中:
clip_download
是会话名,可以自己改,比如:
tmux new -s train
tmux new -s download
tmux new -s llava
3. 退出 tmux 但不中断任务
在 tmux 里面运行任务后,如果想退出当前界面,但让任务继续在后台跑:
Ctrl-b 然后按 d
注意不是同时按三个键。
操作顺序是:
- 按住
Ctrl,按一下b - 松开
- 再按一下
d
这叫 detach,意思是“断开当前连接,但不关闭会话”。
4. 查看已有 tmux 会话
tmux ls
示例输出:
clip_download: 1 windows (created Wed Jun 10 12:00:00 2026)
train: 1 windows (created Wed Jun 10 12:10:00 2026)
说明当前有两个会话:
clip_download
train
5. 重新进入 tmux 会话
如果只有一个会话,可以直接:
tmux attach
如果有多个会话,需要指定名称:
tmux attach -t clip_download
或者简写:
tmux a -t clip_download
6. 关闭 tmux 会话
进入会话后,如果任务已经结束,可以直接输入:
exit
或者按:
Ctrl-d
也可以在外面直接杀掉某个会话:
tmux kill-session -t clip_download
杀掉所有 tmux 会话:
tmux kill-server
这个命令要谨慎使用,因为它会关闭所有 tmux 里的任务。
7. tmux 窗口操作
一个 tmux 会话里可以有多个窗口,类似浏览器标签页。
新建窗口:
Ctrl-b 然后按 c
切换到下一个窗口:
Ctrl-b 然后按 n
切换到上一个窗口:
Ctrl-b 然后按 p
查看窗口列表:
Ctrl-b 然后按 w
关闭当前窗口:
exit
或者:
Ctrl-d
8. tmux 分屏操作
左右分屏:
Ctrl-b 然后按 %
上下分屏:
Ctrl-b 然后按 "
在不同分屏之间切换:
Ctrl-b 然后按方向键
关闭当前分屏:
exit
或者:
Ctrl-d
9. tmux 中滚动查看历史输出
进入复制/滚动模式:
Ctrl-b 然后按 [
然后可以使用方向键、PageUp、PageDown 滚动查看历史输出。
退出滚动模式:
q
10. 常见使用场景:后台下载模型
比如通过 Hugging Face 镜像下载模型:
tmux new -s clip_download
进入 tmux 后执行:
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download openai/clip-vit-large-patch14-336 \
--resume-download \
--local-dir /mnt/kai_ckp/model/clip-vit-large-patch14-336 \
2>&1 | tee -a /mnt/kai_ckp/model/clip_download.log
然后按:
Ctrl-b 然后按 d
任务就会在后台继续下载。
之后重新进入:
tmux attach -t clip_download
查看日志:
tail -f /mnt/kai_ckp/model/clip_download.log
11. tmux 和 screen 的区别
tmux 和 screen 功能类似,都可以让任务在后台继续运行。
常见区别:
| 工具 | 特点 |
|---|---|
| tmux | 更新、更常用,窗口和分屏管理更方便 |
| screen | 更老牌,很多旧服务器默认安装 |
| 两者共同点 | 都能防止 SSH 断开导致任务中断 |
如果服务器已经有 tmux,优先用 tmux 即可。
12. 常用命令速查表
| 功能 | 命令 |
|---|---|
| 创建会话 | tmux new -s 会话名 |
| 查看会话 | tmux ls |
| 进入会话 | tmux attach -t 会话名 |
| 退出但不中断 | Ctrl-b d |
| 关闭当前会话 | exit |
| 杀掉指定会话 | tmux kill-session -t 会话名 |
| 新建窗口 | Ctrl-b c |
| 下一个窗口 | Ctrl-b n |
| 上一个窗口 | Ctrl-b p |
| 窗口列表 | Ctrl-b w |
| 左右分屏 | Ctrl-b % |
| 上下分屏 | Ctrl-b " |
| 分屏切换 | Ctrl-b 方向键 |
| 滚动历史 | Ctrl-b [ |
| 退出滚动 | q |
13. 总结
tmux 是服务器环境中非常实用的工具,尤其适合:
- 下载大模型
- 跑训练任务
- 执行长时间脚本
- 防止 SSH 断开导致任务中断
- 同时管理多个终端窗口
最常用的三步是:
tmux new -s mytask
运行任务后:
Ctrl-b d
下次回来:
tmux attach -t mytask
掌握这几个命令,基本就能应付大多数服务器后台任务场景了。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)