一、什么是Tmux?
想象一下这个场景:你在服务器的SSH连接中运行着一个耗时的编译任务,或者正在用vim编写一个复杂的脚本。突然,你的网络波动了一下,SSH连接断开……当你重新连接时,发现刚才运行的程序和所有状态都消失了,一切不得不重头再来。Tmux 就是为了解决这个问题而生的神器。
Tmux(Terminal Multiplexer),中文意为“终端复用器”。它的核心价值在于:
会话持久化:Tmux启动的所有进程都运行在一个独立的“会话”中。即使你关闭终端窗口或断开SSH连接,会话仍在后台运行,所有任务都不会中断。重新连接后,你可以立刻恢复到你之前的工作现场,毫发无损。
多窗口/窗格管理:在一个终端窗口中,Tmux可以创建多个“窗口”和“窗格”,让你轻松地在不同任务间切换,极大地提升了终端的使用效率,告别杂乱无章的终端标签页。
简单来说,Tmux让你像浏览器一样管理你的终端会话。
二、常用命令速查
1、会话管理
新建会话(指定名称)
tmux new -s <session_name>
新建会话(匿名)
tmux new / tmux
分离当前会话(后台运行)
Ctrl + b d
列出所有会话
tmux ls
接入上一个会话
tmux a / tmux attach
接入指定会话
tmux a -t <session_name>
关闭指定会话
tmux kill-session -t <session_name>
在会话内部重命名当前会话
Ctrl + b $
2、窗口管理
创建新窗口
Ctrl + b c
关闭当前窗口
Ctrl + b &
重命名当前窗口
Ctrl + b '
切换到下一个窗口
Ctrl + b n
切换到上一个窗口
Ctrl + b p
根据数字切换窗口
Ctrl + b 0-9
显示所有窗口列表
Ctrl + b w
3、窗格管理
水平分割窗格
Ctrl + b "
垂直分割窗格
Ctrl + b %
切换当前窗格
Ctrl + b 方向键
关闭当前窗格
Ctrl + b x
将当前窗格变为新窗口
Ctrl + b !
切换窗格布局
Ctrl + b 空格键
4、滚动与复制
在tmux中,你不能直接用鼠标滚轮滚动,需要进入复制模式。
进入复制模式(可鼠标滚动或方向键或Pageup/PageDown滚动)
Ctrl + b [
退出复制模式
q 或 Esv
快速翻页
Ctrl + b Pageup