tmux 是一个类似于 Screen 终端复用的工具,它能够在终端出现意外的情况下,确保你的程序还在继续运行,不会中断;还能够将一个终端窗口分离成多个会话,在多任务执行时,可以提供很大的便利。
tmux 在 Ubuntu 中默认已经安装了,但在 CentOS 上需要另外安装
- [root@localhost ~]# yum install tmux -y
创建 tmux 会话
- it@serverc:~$ tmux new-session -s test
通过 exit 命令或Ctrl+D退出 tmux 会话
- it@serverc:~$ exit
当窗口关闭或网络中断,你可以通过 tmux attach-session 恢复 tmux 会话,tmux 会话内原来运行的任务还在继续运行;
- it@serverc:~$ tmux attach-session -t test
如果你不在会话的名称,可以通过 tmux ls 查看当前已经打开的 tmux 会话
- it@serverc:~$ tmux ls
- test: 2 windows (created Fri Jan 15 00:49:12 2021)
打开 tmux 会话,通过按Ctrl+B,然后再按C在同一个窗口的创建一个新的 tmux 窗口
在窗口的最下面会有显示,你当前已经打开了几个窗口,我这边已经打开了 3 个窗口,它们的编号是 0, 1,2;
你可以通过按Ctrl+B,然后再按它们的编号,打开到对应的窗口,如,先按Ctrl+B,然后按 0,表示切换到编号为 0 的窗口;
哪个 bash 后面有 * 号,表示当前打开的就是哪个 bash 窗口,如图所示,当前打开的 bash 窗口是 0 号 bash 窗口;
如果想要关闭某个 bash 窗口,你可以先切换到你想要关闭的 bash 窗口,按Ctrl+B,然后按X,然后窗口下面会有一个提示,询问你是否结束这个 bash 窗口,按Y;
但有些情况,我们需要对比两个 bash 窗口的内容,这样切换比较麻烦,我们可以通过按Ctrl+B,然后按%( Shirft 加数字键),进行左右分屏;
* 注意,这个左右分屏是完全在 1号 bash 窗口分出来的,和 0号 bash 窗口没有关系,新切换出来的是一个新的终端;
你也可以通过按Ctrl+B,然后按"(Shift 加逗号键),进行垂直分屏
在多窗口时,你可以通过按Ctrl+B,然后按O切换到下一个屏幕(先从上到下,然后从左到右),或者按Ctrl+B,然后按;在当前窗口和上一个窗口之间切换;