公司博客 // 2026-09-01 · BY IDCBOT

tmux使用教程:SSH断开任务不中断,终端复用神器入门

SSH跑一个耗时任务(编译、下载、数据处理),网络一断任务就中断,前功尽弃?或者想在一个SSH连接里同时开好几个工作区?tmux能解决这些——它是服务器运维必备的终端复用神器。本文带你快速入门。

一、tmux解决什么问题?

  • 断线任务不中断(最重要):任务跑在tmux会话里,SSH断了任务照常运行,重连后恢复现场——再也不怕网络抖动毁掉长任务;
  • 一个连接多个工作区:不用开好几个SSH窗口,一个连接里分屏、多窗口同时干活;
  • 持久工作环境:关掉笔记本,服务器上的工作现场还在,明天重连接着干。

(功能上和老牌的screen类似,tmux更现代、更强大,推荐用tmux。)

二、安装与基础

apt install tmux -y
tmux              # 新建会话
tmux new -s work  # 新建命名会话"work"

进入tmux后,你就在一个”会话”里了。核心概念:会话(session)包含窗口(window),窗口可以分成多个窗格(pane)。

三、最关键的操作:分离与恢复

这是tmux的精髓——分离(detach)让会话在后台继续跑:

按 Ctrl+b 然后按 d      # 分离会话(任务继续在后台跑)
# 现在可以安全断开SSH,任务不受影响

# 重新连上服务器后:
tmux ls                # 列出所有会话
tmux attach -t work    # 恢复到"work"会话,现场还在!

就是这么简单:跑长任务前先 tmux,启动任务,Ctrl+b d 分离,断线也不怕,重连 tmux attach 继续。

四、常用快捷键(前缀都是Ctrl+b)

tmux的操作是”先按前缀 Ctrl+b,松开,再按功能键”:

  • Ctrl+b d:分离会话;
  • Ctrl+b c:新建窗口;
  • Ctrl+b n / p:切换到下一个/上一个窗口;
  • Ctrl+b 数字:切换到指定编号窗口;
  • Ctrl+b %:左右分屏(垂直分割窗格);
  • Ctrl+b “:上下分屏(水平分割);
  • Ctrl+b 方向键:在窗格间移动;
  • Ctrl+b x:关闭当前窗格。

五、典型使用场景

  • 跑长任务:数据迁移、编译、大文件下载、批量处理——放tmux里,断线无忧;
  • 多任务同屏:一个窗格看日志(tail -f)、一个窗格跑命令、一个窗格看监控(htop),分屏一目了然;
  • 长期驻留的交互程序:需要在前台跑又想保持的程序(虽然更规范的做法是用systemd,参考systemd篇)。

六、tmux vs systemd:什么时候用哪个?

常有人混淆:

  • tmux:适合交互式、临时性的任务——你要盯着、要操作的长任务;
  • systemd(参考systemd篇):适合长期后台服务——需要开机自启、崩溃自愈的正式服务(Web应用、Bot、数据库)。

简单说:临时跑个把小时要盯着的任务用tmux;要7×24常驻的正式服务用systemd。别用tmux跑正式生产服务(重启就没了)。

结论

tmux是运维效率神器:核心价值是”断线任务不中断”(Ctrl+b d分离、tmux attach恢复),外加多窗口分屏管理。跑任何耗时任务前,养成先开tmux的习惯,再也不怕网络抖动前功尽弃。记住它和systemd的分工:临时任务tmux、正式服务systemd。在你的服务器上装个tmux,下次跑长任务时用起来,你会离不开它。

// LEAVE A COMMENT

Your email address will not be published. Required fields are marked *