tmux 入门:让远程 Linux 终端断线也不丢任务

举报
yd_271806766 发表于 2026/10/21 23:17:59 2026/10/21
【摘要】 在云服务器上跑长时间任务(编译、训练模型、数据迁移)时,最怕的就是 SSH 断线——终端一关,前台进程跟着被挂断,几个小时的工作白费。tmux(terminal multiplexer,终端复用器)正好解决这个问题:它把会话放在服务器端运行,客户端断开后会话依然存在,重新连上就能接着用。本文用最少的命令带你上手。一、安装Ubuntu/Debian:sudo apt install -y tm...

在云服务器上跑长时间任务(编译、训练模型、数据迁移)时,最怕的就是 SSH 断线——终端一关,前台进程跟着被挂断,几个小时的工作白费。tmux(terminal multiplexer,终端复用器)正好解决这个问题:它把会话放在服务器端运行,客户端断开后会话依然存在,重新连上就能接着用。本文用最少的命令带你上手。


一、安装

Ubuntu/Debian:sudo apt install -y tmux

CentOS/EulerOS/openEuler:sudo yum install -y tmux

安装后执行 tmux -V 查看版本,确认可用。


二、三个核心概念

1. 会话(session):一组工作的集合,断线后仍在后台运行。

2. 窗口(window):会话里的"标签页",一个会话可以有多个窗口。

3. 窗格(pane):把一个窗口切成多块,同时看多个终端。

tmux 的快捷键都以"前缀键"开头,默认是 Ctrl+b:先按 Ctrl+b,松开,再按功能键。


三、会话管理

新建并命名会话:tmux new -s build

暂时离开(detach):Ctrl+b 然后按 d,会话继续在后台跑

查看所有会话:tmux ls

重新进入:tmux attach -t build

彻底关闭:在会话里输入 exit,或 tmux kill-session -t build

给会话起有意义的名字很重要,一台机器上同时跑几个任务时,靠名字就能快速找到。


四、窗口与窗格

Ctrl+b c:新建窗口;Ctrl+b n / p:切换下一个 / 上一个窗口;Ctrl+b ,:重命名当前窗口。

Ctrl+b %:左右分屏;Ctrl+b ":上下分屏;Ctrl+b 方向键:在窗格间移动;Ctrl+b x:关闭当前窗格。

一个常见布局是:左边跑服务,右上看日志(tail -f),右下用 htop 盯资源占用。


五、一个实用场景

假设要在云服务器上编译一个大项目:

1. ssh 登录后执行 tmux new -s build

2. 运行 make -j4 2>&1 | tee build.log

3. 按 Ctrl+b d 离开,然后可以放心关掉本地电脑

4. 第二天重新 ssh 登录,执行 tmux attach -t build,编译输出原样还在

相比 nohup 加后台运行,tmux 的好处是能随时回到交互界面,看到完整输出,还能继续输入命令。


六、两条小配置

在家目录新建 ~/.tmux.conf:

set -g mouse on # 允许鼠标点击切换窗格、滚动查看历史

set -g history-limit 10000 # 增大回滚缓冲区

保存后在 tmux 里执行 tmux source-file ~/.tmux.conf 立即生效。


七、注意事项

- tmux 会话保存在服务器内存中,服务器重启后会话会消失,重要输出记得用 tee 写入文件。

- 在 tmux 里滚动查看历史,可以按 Ctrl+b [ 进入复制模式,用方向键或 PageUp 翻页,按 q 退出。

- 不再使用的会话及时 kill 掉,避免长期占用资源。


总结:记住 new -s、Ctrl+b d、ls、attach -t 这四个操作,就能解决 90% 的"断线丢任务"问题。习惯之后,再配合窗口和分屏,远程运维效率会明显提升。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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