tmux 上手指南:让 SSH 远程任务不再怕断线

举报
yd_226289576 发表于 2026/11/03 09:32:20 2026/11/03
【摘要】 作为开发者,我们经常要通过 SSH 登录云服务器跑一些耗时任务:编译代码、下载大文件、跑训练脚本。最让人头疼的是:本地网络一波动,SSH 断开,终端里跑了一半的任务就跟着退出,前功尽弃。tmux 就是为解决这个问题而生的终端复用工具。它能在服务器上创建一个“持久会话”,即使 SSH 断开,会话里的程序依然在后台运行;重新连上服务器后,一条命令就能回到之前的终端现场。 安装大多数 Linux ...

作为开发者,我们经常要通过 SSH 登录云服务器跑一些耗时任务:编译代码、下载大文件、跑训练脚本。最让人头疼的是:本地网络一波动,SSH 断开,终端里跑了一半的任务就跟着退出,前功尽弃。

tmux 就是为解决这个问题而生的终端复用工具。它能在服务器上创建一个“持久会话”,即使 SSH 断开,会话里的程序依然在后台运行;重新连上服务器后,一条命令就能回到之前的终端现场。

安装

大多数 Linux 发行版都可以通过包管理器直接安装:

# Ubuntu / Debian
sudo apt install tmux

# CentOS / RHEL
sudo yum install tmux

核心概念:会话、窗口、面板

tmux 有三层结构:

  • 会话(Session):一个独立的工作环境,可以理解为一个“工作区”;
  • 窗口(Window):会话里的标签页,一个会话可以开多个窗口;
  • 面板(Pane):窗口内的分屏,一个窗口可以切成多个面板。

记住这个层级,后面的快捷键就都好理解了。

上手:四个命令够用

新建一个命名会话:

tmux new -s deploy

在会话里跑你的耗时任务,比如:

./long-running-task.sh

然后按下 Ctrl+b 再按 d,将会话“挂起”(detach)。此时可以放心关闭 SSH,任务仍在服务器上继续跑。

第二天重新 SSH 登录服务器,恢复会话:

tmux attach -t deploy

终端原样回来,任务输出都在。查看当前所有会话:

tmux ls

常用快捷键速查

所有快捷键都以 Ctrl+b 为前缀(先按住 Ctrl 再按 b,松开后再按下面的键):

  • d:挂起当前会话
  • c:新建窗口
  • n / p:切换到下一个 / 上一个窗口
  • %:左右分屏;双引号键:上下分屏
  • 方向键:在面板之间移动
  • x:关闭当前面板

一个实用场景

假设要在云服务器上部署应用:左边面板 tail -f 实时看日志,右边面板执行部署脚本,两个面板同时盯。中间网络抖动断开 SSH 也完全不怕,重新 tmux attach 回来,一切都在原地。

小结

tmux 学习成本很低,记住 new、attach、ls 三个命令和 Ctrl+b d,就能解决 90% 的“断线丢任务”问题。如果你经常和远程服务器打交道,建议今天就装上试试。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。