tmux 使用
最近项目中需要 ssh 到堡垒机上运行一个脚本, 但是由于SRE那边的设置, 连接一段时间后就会断开连接. 导致长时间脚本立刻停止运行
然后发现使用 tmux 可以解决这个问题
简介
tmux 的英文名是 terminal multiplexer, 荣用户可以在一个终端内管理多个分离的会话
优点: 不受断网影响, 可以保存工作进度
原理
正常情况下, ssh 到 server, 当 ssh 断掉之后, server 会 kill 掉程序
如果使用 tmux
tmux 这边采用 c/s 结构, 键入 tmux, tmux 服务器会启动, 并创建一个 session. 也就是一个 bash 环境. 重点是这个环境是与当前 ssh 连接独立. 这样 ssh 断开不会影响这个 session.
使用
1 | 进入Linux机器 |
常用 tmux 命令
在 shell 主进程下, 可以用以下命令操作 tmux session
Function(作用) | Command (命令) |
---|---|
新建有命名的 tmux session | tmux new -s session-name |
列出所有 tmux session | tmux ls |
进入上一次的 tmux session | tmux a (a 指 attach ) |
进入名称为 test 的 tmux session | tmux a -t test (-t 指 target ) |
删除名称为 test 的 tmux session | tmux kill-session -t test |
删除所有的 tmux session | tmux kill-server |
在 tmux session下, 可以用以下命令操作 tmux session
先按前缀快捷键 control+b
$
重命名当前sessions
弹出列表,可以选择进入不同 sessiond
detach sessio,返回至 shell 主进程
tmux 其他用处
可以屏幕共享, 如果 A 创建一个 session, B ssh 到此机器 tmux attach session, 这样 A 和 B 就可以看到互相的 session 的操作.
参考资料