学习自:https://www.ruanyifeng.com/blog/2019/10/tmux.html
Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。
小A:在使用Linux服务器时,经常会碰到一种情况,运行的程序需要运行几十分钟甚至几个小时,启动运行之后,因为某种原因我们可能会断开ssh,再打开这个窗口发现因为ssh断开,程序已经终止运行,又需要重新启动程序重新执行,非常崩溃
小B:在同一台机器上同时监控N个程序的运行状态,于是需要开N个终端,每个终端监控一个程序输出(或者一个串口的输出),来回切换非常崩溃
小C:我跟小D共同使用一台机器,但是他用完串口总是不释放,导致我每次链接串口时都遇到串口被占用的情况,小D总是占着xx不xx
小D:我又不是故意的,有的时候调试完没有关闭串口就去忙其他事情,所以就没释放。
针对小A的情况,我们需要一种将运行程序从当前session中detach的工具,一般可能采用nohup xxx & 后台运行的方式,但是这样命令敲起来很麻烦,而且一般必须通过将输出写到文件才能保留住过程,所以这时候就可以通过tmux来解决:
针对小B的情况,我们需要一个窗口管理器,可以方便的命名以及切换窗口,可以通过tmux来解决:
小C小D的吐槽,简单来说,需要一个可以多人共享复用的终端,占用同一个资源,可以通过tmux解决:
ubuntu:
sudo apt-get install tmux
安装完成后,键入tmux命令,就进入了 Tmux 窗口。
上面命令会启动 Tmux 窗口,底部有一个状态栏。状态栏的左侧是窗口信息(编号和名称),右侧是系统信息。
Tmux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是Ctrl+b,即先按下Ctrl+b,快捷键才会生效。举例来说,帮助命令的快捷键是Ctrl+b ?。它的用法是,在 Tmux 窗口中,先按下Ctrl+b,再按下?,就会显示帮助信息。然后,按下 ESC 键或q键,就可以退出帮助。
以下是 Tmux 的最简操作流程。
Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息
Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。
Ctrl+b n:切换到下一个窗口。
Ctrl+b <number>:切换到指定编号的窗口,其中的<number>是状态栏上的窗口编号。
Ctrl+b w:从列表中选择窗口。
Ctrl+b ,:窗口重命名。