终端复用器——tmux实用教程
终端的弊端
在Linux中的黑框框,就是终端窗口(terminal window),用户在终端中输入命令行交互,这种交互被称为会话(session),会话所对应的进程是需要与终端窗口绑定的,当我们关掉一个终端时,进程也随之停止。也就造成了许多时候,自己电脑的原因或不小心关闭了SSH等远程终端而导致运行了许久的进程被关闭了。比如你要训练个模型,但需要个几天的时间,这期间你能保证你的SSH一直不断吗?
为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。
Tmux的安装与使用
Tmux安装
直接使用在线安装的方式,输入下面的语句等待执行完成即可安装,不同的Linux版本语句不同,以Ubuntu为例:
sudo apt-get install tmux
Tmux的使用
新建窗口
开启tmux,终端中直接输入:
tmux
会出现如下图的终端,就证明你当前的窗口已经是tmux伪窗口了
其中,数字10是你当前窗口的一个编号,编号是按照你建窗口的顺序来定的,对窗口的一系列操作都可以使用这个编号来进行。
可以在创建窗口的时候给窗口命名来便于区分任务
tmux new -s name
出现如下图的终端,可以看到其中的编号就变成了name
分离窗口
分类窗口的作用是让窗口变为普通终端,让先前的会话与进程继续后台执行。
tmux detach
查看窗口
tmux窗口被分离后,普通情况下你是看不到它的,可以通过ls命令来看到tmux窗口相关信息
tmux ls
重连窗口
当你的进程运行一定时间后,可以通过如下语句来重连到它运行的那个tmux伪窗口查看运行情况
tmux attact -t 窗口编号或你起的名字
此处若忘记了窗口编号或名字,可以通过上面的 tmux ls 命令来查看
切换会话
从当前终端窗口切换到另一个tmux窗口
tmux switch -t 窗口编号或你起的名字
窗口重命名
tmux rename-session -t 需要重命名的窗口编号或名字 新名字
结束会话
将会话结束掉时,可以使用这个命令
tmux kill-session -t 窗口编号或你起的名字