tmux 入门:SSH 断线也不丢会话,三个概念就够用

举报
yd_225891185 发表于 2026/11/10 16:11:55 2026/11/10
【摘要】 在服务器上跑过长任务的人,大概都吃过这个亏:SSH 连着跑一个备份、一次编译或者一场压测,网络一抖、窗口一关,任务跟着进程一起没了。重新连上去,只能从头再来。解决办法不是换更稳的网络,而是让任务脱离 SSH 会话独立运行。tmux 就是干这个的:它在服务器上常驻一个会话管理器,你的命令跑在 tmux 的会话里,SSH 断了,会话还在;重新连上,一条命令就能回到原来的现场。 会话、窗口、窗格:...

在服务器上跑过长任务的人,大概都吃过这个亏:SSH 连着跑一个备份、一次编译或者一场压测,网络一抖、窗口一关,任务跟着进程一起没了。重新连上去,只能从头再来。

解决办法不是换更稳的网络,而是让任务脱离 SSH 会话独立运行。tmux 就是干这个的:它在服务器上常驻一个会话管理器,你的命令跑在 tmux 的会话里,SSH 断了,会话还在;重新连上,一条命令就能回到原来的现场。

会话、窗口、窗格:先分清这三个概念

tmux 里有三个层级,刚开始用只要记住它们的关系:

  • 会话(session):一台机器上可以有多个会话,每个会话是一套独立的工作现场。比如一个会话跑备份,另一个会话看日志,互不干扰。
  • 窗口(window):一个会话里可以开多个窗口,相当于浏览器里的多个标签页。窗口之间用名字或编号切换。
  • 窗格(pane):一个窗口可以再切分成多个窗格,相当于把屏幕分成几块,同时看日志、跑命令、改配置。

命令都以前缀键开头,默认是 Ctrl+b,先按前缀,再按功能键。比如新建窗口是 Ctrl+b c,切换窗口是 Ctrl+b n(下一个)或 Ctrl+b p(上一个)。

最常用的五条命令

第一次用 tmux,不用背全套快捷键,先掌握这五条就能应付九成场景:

tmux new -s backup        # 新建一个名叫 backup 的会话
tmux ls                   # 列出当前所有会话
tmux attach -t backup     # 回到 backup 会话

会话里面还有两个救命操作:Ctrl+b d 是分离(detach)——退出当前会话的显示,但会话里的程序继续跑;Ctrl+b x 是关闭当前窗格,关闭前会问你确认。

典型流程是这样的:tmux new -s deploy 进会话,启动一个要跑半小时的部署脚本,按 Ctrl+b d 分离,安心关掉 SSH;半小时后重新登录,tmux attach -t deploy,部署进度原样呈现在眼前。

窗格切分:一个窗口同时干几件事

长任务跑着的时候,往往还想顺手看一眼日志或者改个配置,不用另开 SSH,连上同一个会话切个窗格就行:

  • Ctrl+b %:左右切分当前窗口
  • Ctrl+b ":上下切分当前窗口
  • Ctrl+b 方向键:在窗格之间移动光标
  • Ctrl+b z:把当前窗格临时放大到全屏,再按一次恢复

举个例子:左边窗格跑着 tail -f 看日志,右边窗格敲命令改配置,互相不抢屏幕。任务跑完,exit 退出窗格的 shell,窗格自动关闭。

两行配置,让 tmux 顺手得多

tmux 的默认配置比较朴素,在家目录建一个 ~/.tmux.conf,加两行就能舒服不少:

set -g mouse on
set -g history-limit 10000

第一行打开鼠标支持:滚轮可以直接翻历史输出,拖动可以调整窗格大小;第二行把每个窗格保留的历史行数从默认的 2000 提到 10000,查旧日志不用怕翻不到。

改完配置不用重启会话,在 tmux 里按 Ctrl+b :,输入 source-file ~/.tmux.conf 回车就生效了。

还有一个常见改动是把前缀键从 Ctrl+b 换成 Ctrl+a,因为 b 键离左手小指比较远。不过这属于个人习惯,刚开始用完全没必要改,先把默认键位用顺手再说。

小结

tmux 解决的其实是「连接不可靠,但任务必须可靠」这个矛盾:会话跑在服务器上,与 SSH 连接解耦,断线重连都只是重新接上显示器。记住 new、ls、attach、Ctrl+b d 这四个操作,再加切分窗格的两个快捷键,就够应付日常的服务器运维。等用顺手了,再去研究会话共享、窗口布局这些进阶玩法也不迟。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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