日常使用linux的时候,长时间等待服务器处理一个命令或者运行某些程序的时候是不能断开ssh连接,一但断开,之前的指令就会被结束,而使用了tmux以后,即便断开了ssh,只要服务器不是物理性关机,就不会存在指令结束的情况。
sudo apt install tmux
yum install tmux
session |
会话:一个服务器可以包含多个会话 |
---|---|
window |
窗口:一个会话可以包含多个窗口 |
pane |
面板:一个窗口可以包含多个面板(个人最喜欢这个功能) |
名称(可以使用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 new-session -t ert -d
说明:
tmux new-session -t
为固定格式,ert
为会话名称,-d
是让tmux不立即进入会话。
如图:
输入:
tmux ls
tmux at -t ert
点击回车后进入下图。
Ctrl+b d
按d
的时候,不要按住Ctrl
键。
tmux split-window -t ert
回车后,窗口样式。
如果想插入左右排列的窗口则输入如下命令。
tmux split-window -h -t ert
回车后,窗口样式。
在左右排列的窗口中插入一个上下排列的窗口。
tmux split-window -h -t ert
tmux split-window -t ert
窗口样式。
`tmux send-keys -t ert `ping ert.icu` C-m
send-keys
为发送按键。
-t ert
接收按键的会话名称。
`ping ert.icu`
为执行的命令。
C-m
中的C
为Ctrl
的缩写,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
程序瞬间进入并执行刚刚的一系列指令。
[
这个方法适合具有硬关机性质的ubuntu计算机系统使用。可以将常用的命令归类以后,放置在不同的会话名称中。在需要的时候快速方便的调用出来。省去很多麻烦。
tmux还有很多其它的功能,我们可以在tmux会话
下输入Ctrl+b ?
来进行查看与摸索。