tmux 入门:终端复用与会话管理
在服务器上跑一个耗时较长的编译或训练任务,最怕的是 SSH 一断,任务跟着没了;本地同时开三四个终端窗口切来切去,也容易眼花缭乱。tmux 就是为解决这类问题而生的终端复用器:它让一个终端里同时跑多个会话、窗口和窗格,而且会话可以 detach 到后台运行、随时再 attach 回来,断线也不丢进度。
一、tmux 是什么
tmux 由三层结构组成。会话(session)是一组窗口的集合,对应一个工作场景,比如“编译任务”或“线上排障”;窗口(window)类似浏览器的标签页,一个会话里可以有多个窗口;窗格(pane)则把一个窗口再切分成多个区域。所有操作都以 Ctrl+b 作为前缀键:先按 Ctrl+b,再按功能键。
二、安装与第一个会话
大多数 Linux 发行版可以直接用包管理器安装,Debian/Ubuntu 用 apt install tmux,RHEL 系用 yum install tmux 或 dnf install tmux。装好后输入 tmux 就进入了一个新会话。按 Ctrl+b 再按 d,可以把会话“挂起”(detach),终端回到普通 shell,而会话里的程序继续跑;再用 tmux attach 或简写 tmux a,就能接回上次的会话。
三、常用操作速查
- 新建会话:
tmux new -s demo - 列出会话:
tmux ls - 接入指定会话:
tmux a -t demo - 新建窗口:Ctrl+b c;切换窗口:Ctrl+b n(下一个)/ Ctrl+b p(上一个),或 Ctrl+b 加数字直接跳到指定窗口
- 左右分屏:Ctrl+b %;上下分屏:Ctrl+b "
- 切换窗格:Ctrl+b 加方向键;关闭窗格:
exit或 Ctrl+b x - 会话改名:Ctrl+b $;查看帮助:Ctrl+b ?
四、真实用法:远程跑长任务
先 SSH 连上云服务器,执行 tmux new -s build 启动任务会话,跑起编译或训练;Ctrl+b d 挂起后断开 SSH 回家;第二天 tmux a -t build,又回到昨天的进度,日志还留在屏幕上。配合分屏,一边看日志输出、一边敲命令,比开多个 SSH 连接省事得多,也不用担心某次网络抖动把任务带走。
五、小技巧与注意事项
建会话时就用 -s 起个直观的名字,比如 build、deploy、debug,tmux ls 一眼就能分清。退出时不要直接关窗口,先 detach,避免误杀正在跑的任务。多人协作时可以用 tmux attach -t 共享同一个会话,但要注意权限。配色、状态栏、快捷键都可以写进 ~/.tmux.conf 按需定制。还有一点:生产环境的长任务固然适合放进 tmux,但关键服务还是应当用 systemd 管理,tmux 只是开发和运维的辅助工具。
结语
掌握 tmux 的十来个快捷键,就能把“窗口不够用、断线任务丢”的烦恼收进一个命令里。先在本地练熟 detach/attach 和分屏,再用到远程服务器上,你的终端工作流会立刻清爽起来。
- 点赞
- 收藏
- 关注作者
评论(0)