有时候有需求ssh连接到远程服务器后跑shell脚本,ssh断开后保持后台执行,并且重新连接后查看输出,tmux可以很好的解决

Tmux 介绍

Tmux(Terminal Multiplexer)是一个终端复用器,可以在一个单一终端会话中同时运行多个终端会话。它有以下几个主要功能和作用:

  1. 会话管理:

Tmux允许用户在一个终端窗口中创建、管理和切换多个会话。这使得用户可以在一个窗口中运行多个命令行程序,而不需要打开多个终端窗口。

  1. 分屏功能:

Tmux可以在一个终端窗口内将屏幕分成多个窗格,每个窗格可以独立运行不同的命令。这对同时监控多个进程或日志非常有用。

  1. 持久化会话:

当用户断开连接(例如通过SSH连接的终端会话中断)时,Tmux会话仍然保持运行状态。用户可以重新连接并恢复会话,而无需重新启动正在运行的程序。

  1. 共享会话:

多个用户可以连接到同一个Tmux会话,这对于协作调试和演示非常有帮助。

  1. 自定义与脚本:

Tmux提供了丰富的配置选项,可以通过配置文件自定义其行为。此外,可以使用Tmux脚本来自动化某些任务。

Tmux 使用

启动Tmux会话:

tmux

创建并命名一个新会话:

tmux new -s mysession

列出所有会话:

tmux ls

重新连接到一个会话:

tmux attach -t mysession

在当前会话中创建一个新窗口:

ctrl + b, c

在当前窗口中拆分为上下两个窗格:

ctrl + b, "

在当前窗口中拆分为左右两个窗格:

ctrl + b, %

在窗格之间切换:

ctrl + b, 箭头键