linux分屏tmux批处理

时间:2022-12-3    作者:E.R.T.    分类:


linux分屏tmux批处理

日常使用linux的时候,长时间等待服务器处理一个命令或者运行某些程序的时候是不能断开ssh连接,一但断开,之前的指令就会被结束,而使用了tmux以后,即便断开了ssh,只要服务器不是物理性关机,就不会存在指令结束的情况。

tmux安装

Ubuntu

sudo apt install tmux

Redhat/CentOS

yum install tmux

tmux的三个模块

session 会话:一个服务器可以包含多个会话
window 窗口:一个会话可以包含多个窗口
pane 面板:一个窗口可以包含多个面板(个人最喜欢这个功能)

tmux相关功能

名称(可以使用Ctrl+b ?查看) 热键 命令(注意区分大小写)
查看会话 Ctrl+b s tmux ls
新建tmux会话 tmux new-session -t *(*****号为会话名)
重命名会话 Ctrl+b $ tmux rename-session -t * **(*号为原会话名,**号为新会话名)
离开会话 Ctrl+b d tmux detach
返回会话 tmux attach -t *tmux at -t *
关闭会话 tmux kill-session -t *(*****号为会话名)
窗口操作
划分上下两个窗格 Ctrl+b " tmux split
划分左右两个窗格 Ctrl+b % tmux split -h
光标切换到上方窗格 Ctrl+b ↑ tmux select-pane -U
光标切换到下方窗格 Ctrl+b ↓ tmux select-pane -D
光标切换到左边窗格 Ctrl+b ← tmux select-pane -L
光标切换到右边窗格 Ctrl+b → tmux select-pane -R
平铺窗格/放大当前窗格 Ctrl+b z
窗格布局切换 Ctrl+b Space
显示窗格编号 Ctrl+b q
切换激活窗口 Ctrl+b 数字键 tmux select-pain -t 0

使用tmux命令操作会话分割窗口或执行程序

测试

输入:

tmux new-session -t ert -d

说明:

tmux new-session -t为固定格式,ert为会话名称,-d是让tmux不立即进入会话。

如图:

查看

输入:

tmux ls

进入

tmux at -t ert

点击回车后进入下图。

ERT.ICU

离开

Ctrl+b d

d的时候,不要按住Ctrl键。

向会话中插入上下排列窗口。

tmux split-window -t ert

回车后,窗口样式。

如果想插入左右排列的窗口则输入如下命令。

tmux split-window -h -t ert

回车后,窗口样式。

在左右排列的窗口中插入一个上下排列的窗口。

  1. tmux split-window -h -t ert
  2. tmux split-window -t ert

窗口样式。

在插入过程中执行命令

`tmux send-keys -t ert `ping ert.icu` C-m

send-keys为发送按键。

-t ert接收按键的会话名称。

`ping ert.icu`为执行的命令。

C-m中的CCtrl的缩写,m回车的转义。

这句话的大致意思就是:向ert的会话发送ping ert.icu的命令并执行。

tmux new-session -t ert -d                  //新建会话。
tmux send-keys -t ert ‘ping ert.icu’ C-m    //发送指令并执行。(``为单引号)
tmux split-window -h -t ert                 //在会话中新建一个左右结构的窗口。
tmux send-keys -t ert ‘htop’ C-m            //在刚建出来的窗口中执行`htop`命令。
tmux split-window -t ert                    //上下分割htop窗口。
tmux send-keys -t ert ‘netstat’ C-m         //在新窗口中执行`netstat`命令。
tmux at -t ert                              //进入并查看会话。

窗口样式及命令结果。

切换窗口执行其它命令。

继续上面的命令运行。

tmux select-pane -t 0

光标则切换到执行ping命令的窗口上。

再输入

tmux send-keys -t ert 'C-c'

窗口中的ping命令会被强制结束。

再向其中发送清屏指令clear

tmux send-keys -t ert 'clear' C-m

该窗口内容即被清空。

批处理

在服务器适当位置新建一个批处理文件。我个人比较喜欢用nano。各位可以自行选择编辑器。这里就不作缀述。

sudo nano ert.sh

Ctrl+o保存后Ctrl+x退出。

ert.sh文件添加可执行权限。

运行结束会话命令:

tmux kill-session -t ert

这条命令是用来结束刚刚的测试会话。

运行刚刚的sh文件。

./ert.sh

程序瞬间进入并执行刚刚的一系列指令。

[ERT.ICU

总结

这个方法适合具有硬关机性质的ubuntu计算机系统使用。可以将常用的命令归类以后,放置在不同的会话名称中。在需要的时候快速方便的调用出来。省去很多麻烦。

结语

tmux还有很多其它的功能,我们可以在tmux会话下输入Ctrl+b ?来进行查看与摸索。


如果觉得我的文章有用,还请支持我一下!

你的支持,就是我继续下去的动力!

请支持我继续下去

标签: linux tmux 分屏

收藏

扫描二维码,在手机上阅读