Linux窗口管理利器Tmux

本文目录结构

本文章提供视频引导

Tmux介绍

传统的管理远程服务器方式是SSH远程服务器后,窗口的生命周期和SSH进程绑定,SSH终止后窗口会话也会终止,如果我们在办公环境回家后还希望能看到同样的窗口效果,默认的SSH会话窗口是不能完成的,这时我们就可以通过Tmux来管理窗口,它是一个多窗口的管理利器和它类似的功能还有Linux的Screen命令。除多窗口管理它还可以做一些投屏的功能,譬如两个人登录相同的服务器,其中A和B用户都登录相同的Tmux session ,其中一个用户(A)操可以看到另一个用户(B)操作过程,以下是笔者在服务器上操作,手机投屏的效果,真是非常的炫酷。

Tmux安装

Tmux支持多操作系统的发行版本,具体安装如下。

安装tmux

1
2
3
4
5
6
7
8
# Ubuntu 或 Debian
$ sudo apt-get install tmux

# CentOS 或 Fedora
$ sudo yum install tmux

# Mac
$ brew install tmux

基本使用

通过tmux命令进入窗口环境。

1
tmux

进入后效果如下。

通过快捷键ctrl+b 再输入d退出,或者输入exit命令来退出Tmux窗口环境。

Tmux会话管理

  • 新建会话
  • 退出会话
  • 查看会话 && 杀死会话
  • 接入会话
  • 切换会话
  • 重命名会话
  • 会话快捷键

新建会话

创建一个新的窗口,其中-s后接窗口会话名字

1
tmux new -s <session-name>

退出会话

在Tmux窗口中,输入ctrl+b 再输入d,或者用命令tmux detach来退出Tmux管理的窗口。

查看会话 && 杀死会话

可以输入tmux ls 或tmux list-session来查看会话。通过以下方式杀死会话。

1
2
3
4
5
# 使用会话编号
tmux kill-session -t 0

# 使用会话名称
tmux kill-session -t <session-name>

接入会话

1
2
3
tmux attach -t 0  接会话ID
# 或则
tmux attach -t <session-name> 推荐

切换会话

1
2
3
4
5
# 使用会话编号
tmux switch -t 0

# 使用会话名称
tmux switch -t <session-name>

重命名会话

1
tmux rename-session -t 0 <new-name>

会话快捷键

会话相关

1
2
3
Ctrl+b d:退出当前会话
Ctrl+b s:列出所有会话。
Ctrl+b $:重命名当前会话。

窗口相关

1
2
3
4
5
Ctrl+b c:创建一个新窗口
Ctrl+b n:切换到下一个窗口
Ctrl+b w:从列表中选择窗口
Ctrl+b <0~9>:切换到指定编号的窗口,编号显示在状态栏
Ctrl+b ,:窗口重命名

窗口快捷键

1
2
3
4
5
6
7
8
9
10
11
12
Ctrl+b %:分成左右两个窗格
Ctrl+b ":分成上下两个窗格
Ctrl+b z:当前窗格全屏显示,再按一次恢复
Ctrl+b q:显示窗格编号
Ctrl+b t:在当前窗格显示时间
Ctrl+b <arrow key>:光标切换到其他窗格
Ctrl+b o:光标切换到下一个窗格
Ctrl+b {:左移当前窗格
Ctrl+b }:右移当前窗格
Ctrl+b Ctrl+o:上移当前窗格
Ctrl+b Alt+o:下移当前窗格
Ctrl+b space:切换窗格布局

Tmux窗口个管理

1
2
3
4
5
# 划分上下两个窗格
tmux split-window

# 划分左右两个窗格
tmux split-window -h

参考文章
http://www.ruanyifeng.com/blog/2019/10/tmux.html