tmux 入门:让终端会话断网也不丢工作现场

举报
yd_240997615 发表于 2026/11/03 09:40:44 2026/11/03
【摘要】 远程连到服务器上跑个长任务,最怕的不是任务慢,是网络一抖、SSH 一断,终端关了任务也跟着没了。之前我都是 nohup 加日志文件凑合,后来改用 tmux 管理会话:会话跑在服务器端,本地断线、关电脑都不影响,重连后一条命令就回到原来的现场,分屏和多窗口也顺手解决了。 一、会话的基本操作安装很简单,Ubuntu/Debian 上 sudo apt install tmux 就行。最常用的就四...

远程连到服务器上跑个长任务,最怕的不是任务慢,是网络一抖、SSH 一断,终端关了任务也跟着没了。之前我都是 nohup 加日志文件凑合,后来改用 tmux 管理会话:会话跑在服务器端,本地断线、关电脑都不影响,重连后一条命令就回到原来的现场,分屏和多窗口也顺手解决了。

一、会话的基本操作

安装很简单,Ubuntu/Debian 上 sudo apt install tmux 就行。最常用的就四条命令:

tmux new -s work        # 新建一个叫 work 的会话
tmux ls                 # 查看现有会话
tmux attach -t work     # 重新进入 work 会话
# 在会话内按 Ctrl+b 再按 d:暂时退出,会话继续在后台跑

关键就在 attach 这一步:SSH 断了之后重新连上服务器,tmux attach -t work 就能回到断开前的样子,正在跑的编译、下载、日志滚动都原封不动。

二、窗口和分屏

一个会话里可以开多个窗口,像浏览器标签页一样切换;一个窗口里还能再分屏,左边看日志、右边敲命令,运维时特别顺手:

Ctrl+b c        新建窗口
Ctrl+b n / p    下一个 / 上一个窗口
Ctrl+b %        左右分屏
Ctrl+b "        上下分屏
Ctrl+b 方向键    在分屏之间移动
Ctrl+b z        当前分屏全屏/还原(看长日志很好用)

tmux 的快捷键都要先按前缀键 Ctrl+b,再按功能键,刚开始容易忘,用一两天就顺了。

三、翻看长输出:复制模式

终端滚太快,日志刷过去就找不到?在 tmux 里按 Ctrl+b [ 进入复制模式,可以用方向键和 PageUp 往上翻,还能按 / 搜索关键字,按 q 退出。查报错时比把日志重定向到文件再 grep 更快,尤其适合临时排查。

四、一个实际用法:跑升级任务

我现在在服务器上做系统升级、跑数据同步这类长任务,都是先开 tmux 会话再动手:

tmux new -s upgrade
sudo apt update && sudo apt upgrade
# 网络不稳就 Ctrl+b d 退出,过会儿 attach 回来看结果

任务在服务器端独立运行,不依赖我本地的网络和终端,长任务再也不用守着屏幕等。

五、小建议

会话名字取有意义的,比如 upgrade、backup、dev,多个会话时不迷路;重要的长期会话可以配合 tmux-resurrect 插件保存布局,不过日常使用原生的就足够了。先把 new、attach、detach 这三个动作练熟,tmux 的价值就已经拿到大半。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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