1. 前言

当在终端(terminal)用 ssh 协议与 linux 系统建立连接时,可以输入各种命令来操作 linux 系统,这种连接称为一次“会话”(session)。

会话会随着窗口的关闭而终止。为了解决这个问题,可以把会话和窗口分离,在窗口关闭时,保留会话,会话里的进程可以继续执行。

GNU screen 是一款由 GNU 计划开发的用于命令行终端切换的自由软件。

tmux 是一个终端复用器(terminal multiplexer),功能比 screen 更强大。

2. tmux 介绍

2.1 相关概念

组件 解释
server 服务 tmux运行的基础服务
session 会话 一个服务可包含多个会话
window 窗口 一个会话可包含多个窗口
panel 面板 一个窗口可包含多个面板

tmux-001

2.2 安装

在 Ubuntu 或 Debian :

1
sudo apt install tmux

2.3 使用

启动 tmux new -s {session_name}

创建窗口 先按 ctrl + b,再按 c

切换窗口 先按 ctrl + b,再按 数字

切换会话 tmux switch -t {session_name}

查看窗口 tmux ls

分离会话 先按 ctrl + b,再按 D

重连会话 tmux a -t {session_name} or tmux attach -t {session_name}

杀掉会话 tmux kill-session -t {session_name}

重命名 tmux rename-session -t {old_name} {new_name}

列出所有快捷键 tmux list-keys

列出所有命令和参数 tmux list-commands

列出会话信息 tmux info

3. 总结

这玩意非常有用,目前想到的使用使用场景:在香橙派里执行一些任务,不想创建开机启动的服务,但是又想断开 SSH 时任务能继续跑。就可以用 tmux 来解决这个问题。