Tmux 入门:让远程会话不断线的终端复用器
远程办公时,你有没有遇到过这样的场景:通过 SSH 连上云服务器,启动一个耗时很长的训练任务或者数据同步,结果网络一波动,终端断开,任务也跟着没了。重新连上去,一切都得从头再来。
这就是终端复用器要解决的问题。今天介绍 tmux——一款几乎每个 Linux 用户都该掌握的工具。
什么是 tmux
tmux 是一个终端复用器(terminal multiplexer)。它允许你在单个终端窗口中创建、访问和控制多个会话。最关键的特性是:会话与终端是分离的。即使 SSH 连接断开,tmux 会话依然在服务器后台运行,等你重新连上,就能无缝回到之前的工作状态。
安装 tmux
大多数发行版都可以在软件源中找到它:
# Debian / Ubuntu
sudo apt install tmux
# CentOS / RHEL
sudo yum install tmux
安装完成后直接输入 tmux 即可进入。
三个核心概念
tmux 的层级结构很清晰:
- 会话(session):一组窗口的集合,是独立的工作区;
- 窗口(window):类似浏览器的标签页,一个会话可包含多个窗口;
- 窗格(pane):窗口内部的拆分区域,一个窗口可拆成多个窗格。
tmux 的所有快捷键都以 Ctrl+b 为前缀(先按 Ctrl+b,松开后再按功能键)。
常用操作速查
新建命名会话:tmux new -s work
分离会话(保持后台运行):Ctrl+b 然后按 d
查看会话列表:tmux ls
重新接入会话:tmux attach -t work
新建窗口:Ctrl+b 然后按 c
切换窗口:Ctrl+b 然后按数字键,或用 n / p 上下切换
水平拆分窗格:Ctrl+b 然后按 %
垂直拆分窗格:Ctrl+b 然后按 "
在窗格间移动:Ctrl+b 然后按方向键
关闭窗格:直接输入 exit 或按 Ctrl+d
实战:让长任务不再怕断网
假设要在云服务器上跑一个耗时数小时的数据处理脚本:
- SSH 连上服务器,执行
tmux new -s job新建会话; - 在会话里启动脚本:
python process.py; - 按
Ctrl+b d分离会话,此时可以放心断开 SSH; - 任何时候重新 SSH 上来,执行
tmux attach -t job,脚本的输出原样呈现在眼前。
整个过程里,脚本一直在服务器后台稳定运行,不受本地网络影响。
小结
tmux 学习成本很低,记住 Ctrl+b d 分离、tmux attach 重连这两个动作,就能解决九成的断线烦恼。再配合窗口和窗格拆分,一个终端就能同时看日志、改代码、跑命令。对于经常操作远程服务器的开发者来说,tmux 是当之无愧的效率神器。
- 点赞
- 收藏
- 关注作者
评论(0)