本期教程介绍一个Linux终端复用神器Tmux。首先,让ChatGPT来介绍一下什么叫“Linux终端复用”?为什么需要用这个软件?使用场景有哪些?
ChatGPT的回答还是非常准确的。从我自身的角度来说,有些时候我有一些不是很花时间的小命令懒得挂后台运行,直接在xShell里跑,但是由于我们学校的校园网很烂,经常出现断网重连的情况,一旦断网,xShell就断开了,我之前跑的程序也挂了,让人很烦躁。这样迫使我去学了一下Tmux这软件。总的来说,使用的体验非常好,也不难学。
接下来我介绍一下Tmux的软件部署和一些快捷键,以及实战。
Tmux的安装应该是需要root权限的,Ubuntu版本下可以直接使用apt安装:
sudo apt-get install tmux
CentOS版本下使用yum安装:
yum install -y tmux
由于我也没有root权限,且管理员已经帮我装好了,我没有软件安装方面的经验。看着代码是很简单的。
安装完成之后,检查一下软件的安装版本:
tmux -V
#tmux 3.0a
Tmux的快捷键比较多,需要用户去熟悉和记忆。但就像Linux那样,常用的就那几个,用熟了就好。
以下快捷键来自:Linux 终端复用神器 Tmux 使用详解,看完可以回家躺平了~,更详细的说明也可以看这个帖子,接下来我直接实战演练。
Tmux的快捷键使用说明:
Tmux的快捷键使用说明
可以把Tmux理解成一个conda。只不过conda是用于安装软件的,而Tmux是用来跑程序的终端。
首先,``tmux ls `用于查看当前开启的终端情况,当然首次使用的话,是没有内容的:
tmux ls
#error connecting to /tmp//tmux-1191/default (No such file or directory)
而我创建过3个终端,默认情况下tmux是用数字来表示终端ID的:
tmux ls
#0: 2 windows (created Thu Jul 13 14:02:26 2023) (attached)
#1: 2 windows (created Thu Jul 13 20:07:25 2023)
#2: 2 windows (created Thu Jul 13 20:11:48 2023)
首次使用的话,我们先创建一个Tmux终端,直接输入 tmux
软件名称即可创建一个新的终端0号:
tmux
注意,除了最下面这个绿色的框,其余的和终端是一样的。
然后我们可以在这个终端里开始运行命令。比如我用conda激活一个环境,然后开始运行shell脚本或者python代码:
conda activate 10x
python
一般情况下除非是你的服务器断电了,不然你在这里运行的所有程序都不会被意外中断。如果是花时间的程序,用户可以把这个终端关掉,甚至把电脑关机。
然后我介绍一下一些常用的快捷键:
Ctrl + B
,按 d
键可以退出当前会话,再键入tmux attach
即可回到之前那个会话;Ctrl + B
,然后加上,
,即可重命名当前的窗口:Ctrl + B
,然后加上c
,在test_1
会话的基础上,再开了一个会话1:bash
:注意,test_1会话里激活了一个conda环境同时开着python,而这个新建的1:bash
是全新的。然后用户可以继续重命名当前会话,运行代码。按Ctrl + B
,然后加上p
,是回到上一个会话;按Ctrl + B
,然后加上n
,是去下一个会话。Ctrl + B
加 0
切换到0号窗口,依次类推,可换成任意窗口序号。按Ctrl + B
加w
列出当前session所有窗口:
通过上、下键切换窗口:
Ctrl + B
加d
,或者Ctrl + B
加Ctr+z
,可以暂时脱离当前会话;Ctrl + B
加&
,回复y
可以永久关闭这个小环境里的所有会话:Ctrl + B
加Ctr+z
退出,或者是直接叉掉了xShell,下次还想链接回目标会话,使用tmux ls
加tmux attach -t
就行了,-t
后面加你想进入的ID编号,比如tmux attach -t 0
:
image-20230713211248515