tmux 终端复用的五个实用技巧

举报
yd_211758112 发表于 2026/11/07 09:26:41 2026/11/07
【摘要】 远程登录服务器干活时,最怕的就是网络一抖、SSH 断开,跑了一半的编译或数据迁移跟着中断。tmux 作为终端复用工具,可以让会话脱离 SSH 连接独立存活,还能在一个窗口里分屏、多任务切换。下面整理五个日常最实用的 tmux 技巧。 一、会话管理:断线不丢任务新建一个带名字的会话,方便之后找回:tmux new -s deploy在会话里按 Ctrl+b 再按 d 即可分离(detach),...

远程登录服务器干活时,最怕的就是网络一抖、SSH 断开,跑了一半的编译或数据迁移跟着中断。tmux 作为终端复用工具,可以让会话脱离 SSH 连接独立存活,还能在一个窗口里分屏、多任务切换。下面整理五个日常最实用的 tmux 技巧。

一、会话管理:断线不丢任务

新建一个带名字的会话,方便之后找回:

tmux new -s deploy

在会话里按 Ctrl+b 再按 d 即可分离(detach),会话和其中的进程继续在后台运行。之后无论是重新 SSH 登录还是换了一台电脑,都可以重新接入:

tmux ls
tmux attach -t deploy

不再需要的会话可以直接关闭:

tmux kill-session -t deploy

建议给每个长期任务单独起会话名,例如 build、logs、db,排查时一眼就能看出哪个会话在做什么。

二、窗口与分屏:一屏多用

一个会话里可以开多个窗口(window),每个窗口又能切成多个面板(pane):

  • Ctrl+b c:新建窗口;Ctrl+b n / Ctrl+b p:切换到下一个 / 上一个窗口
  • Ctrl+b %:左右分屏;Ctrl+b ":上下分屏
  • Ctrl+b 方向键:在面板间移动;Ctrl+b z:把当前面板临时放大,再按一次还原

典型用法是左边跑服务,右边 tail 日志,下方留一个 shell 随时执行命令,比来回开多个 SSH 窗口高效得多。

三、复制模式:翻看和复制历史输出

终端输出滚出屏幕后,按 Ctrl+b [ 进入复制模式,可以用方向键或 PageUp 往回翻,按 q 退出。默认历史行数较少,可以在配置里调大:

set -g history-limit 50000

开启 vi 风格按键后,在复制模式下可以用 / 搜索关键字,用 v 选择、y 复制,查找报错信息非常方便:

setw -g mode-keys vi

四、用配置文件提升体验

tmux 的配置放在 ~/.tmux.conf,下面是几个常用设置:

# 开启鼠标:点击切换面板、拖动调整大小、滚轮翻页
set -g mouse on
# 窗口编号从 1 开始,方便键盘操作
set -g base-index 1
setw -g pane-base-index 1
# 关闭窗口后自动重新编号
set -g renumber-windows on

修改后无需重启,在会话里执行下面的命令即可生效:

tmux source-file ~/.tmux.conf

五、脚本化:一条命令搭好工作环境

tmux 的所有操作都可以用命令完成,因此很适合写成脚本,一键还原常用布局:

#!/bin/bash
tmux new-session -d -s work -n main
tmux split-window -h -t work:main
tmux send-keys -t work:main.1 'tail -f /var/log/syslog' C-m
tmux new-window -t work -n top
tmux send-keys -t work:top 'htop' C-m
tmux attach -t work

另外,send-keys 还能让你在不进入会话的情况下向其中的进程发送命令,适合在定时任务或运维脚本里操作长期运行的程序。

小结

tmux 的核心价值是让终端会话与网络连接解耦:任务放进会话里跑,SSH 断了也不怕。再配合分屏、复制模式、合理的配置和脚本化布局,就能把远程运维的效率提升一个档次。建议从“每次登录服务器先开一个 tmux 会话”这个习惯开始。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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