总结
server:理解为操作系统。每个操作系统server包含多个浏览器sessionsession:理解为浏览器。每一个浏览器session包含多个标签页windowwindow:理解为标签页,每一个标签页window包含多个面板panepane:理解为面板tmux new -s <name>: 新建sessionc-d: 退出tmux环境,此时现场被销毁了。tmux detach: 保留现场退出,或者快捷键c-b,dtmux attach: 重新进入保留的现场。更简洁tmux a -t <name>
1. 前提提要、场景
tmux: 终端复用器,这也是它命名的由来 t(terminal) mux(multiplexer),可以在 linux 终端管理多个窗口。
- 分屏。
attach: 可以起到保护现场的作用,不至于因ssh timeout,而丧失了工作环境。- 操作简单,可配置化。你可以使用快捷键很快地在多个窗口,面板间切换,粘贴复制,无限滚屏。
2. 安装/更新 man 文档
- mac:
brew install tmux - linux: 直接通过 tmux源码 编译安装。当然有些 linux 发行版有二进制安装包,但不一定有更新,所以还是使用源码编译安装吧。
sh
# Debian 安装软件依赖 编译时缺啥安啥,结果就需要安装这么多依赖了
$ apt install -y autoconf automake pkg-config libevent-dev byacc ncurses-dev
# 下载源代码
$ git clone --depth=1 https://github.com/tmux/tmux.git
$ cd tmux
# 编译源码
$ sh autogen.sh && ./configure && make
# 直接执行
$ ./tmux
# 使得 tmux 可全局执行
$ cp ./tmux /usr/local/bin/tmux
# 更新文档
$ rsync -lazhv tmux.1 /usr/local/man/man1/tmux.1
# 删除掉 git 源码
$ cd ..
$ rm -rf tmux
3. 术语
server:理解为操作系统。每个操作系统server包含多个浏览器sessionsession:理解为浏览器。每一个浏览器session包含多个标签页windowwindow:理解为标签页,每一个标签页window包含多个面板panepane:理解为面板
4. 命令
tmux: 进入 tmux 环境

sh
# 新建一个 tmux session
# new:new-session 的简写
# -s: sessionName
$ tmux new -s shanyue
# 也可以直接通过 tmux 命令进入
# tmux
退出 tmux 环境,使用快捷键 ctrl + d,此时现场被销毁了。 如果想保留现场,可以使用命令 tmux detach (或者快捷键 ctrl + b d), 保留现场退出,下次进入时使用 tmux attach 重新进入保留的现场。
sh
# 退出并保存环境
$ tmux detach
# 列出所有的 session
# ls:list-sessions 的简写
$ tmux ls
shanyue: 1 windows (created Sun Jul 31 16:02:49 2022)
# a: attach 简写,
# -t:选择要 attach 的 session name
$ tmux a -t shanyue