关于tmux
TMUX是终端多路复用器。 它允许您使用多个虚拟终端访问tmux终端。
tmux利用客户端 - 服务器模型,允许您将终端连接到tmux会话。
这意味着您可以同时运行多个终端同时关闭单个tmux会话,而不产生任何新的实际终端会话。
这也意味着突然断开与运行tmux的云服务器的连接将不会杀死在tmux会话内运行的进程。
tmux还包括窗口窗格思维,这意味着您可以在单个屏幕上运行多个终端。
客户端 - 服务器模型和窗口 - 窗格心态的优点将在下面进一步讨论。
在VPS上安装tmux
在VPS上安装tmux之前,最好更新apt以确保我们有最新的软件包。
sudo apt-get update
然后安装tmux:
sudo apt-get install tmux
基本用法
开始新的tmux会话:
tmux
tmux将自动使用您的用户帐户登录到默认shell。
一个区别是在屏幕底部的tmux状态行的外观。 它将向您显示有关当前tmux会话的信息。
因为它是,你可以把这个像一个全新的终端。 事实上,它真的只是一个新的终端从tmux内部运行。
这个新的终端被称为在TMUX的上下文中的一个窗口 。 让我们的窗口分为两个窗格 。
tmux可以使用前缀键(默认为Ctrl-b)和命令键来控制。 分割为两个窗格的命令键为%。 从tmux:
Ctrl-b %
窗口将分成两个窗格。 第一个窗格将保留拆分之前的工作。 第二个将登录一个全新的终端。
我们可以水平分割第二个窗格:
Ctrl-b "
现在我们的窗口有三个窗格。 它应该看起来像这样:
要切换到下一个窗格(窗格按从左到右,从上到下的顺序编号):
Ctrl-b o
退出了带外壳的exit
会破坏相关的窗格。 相邻窗格将扩展以利用释放的空间。
关闭最后一个窗格将结束tmux。
使用Windows
窗格上方的一个步骤是窗口。 Windows的行为类似于浏览器中的选项卡。
当tmux启动时,它给你一个窗口和窗口内的单个窗格。
要创建新窗口:
Ctrl-b c
tmux将自动切换到新窗口。 您可以看到状态行中指示的新窗口。 Windows从0开始编号,因此我们的新窗口为1。
现在你可以创建窗格,并像以前一样对待这个窗口。 我们甚至可以创建另一个窗口。 我们的三个窗口编号为0,1和2。
要移动到索引中的下一个窗口:
Ctrl-b n
在索引中向后移动:
Ctrl-b p
Windows提供比窗格更具体的分离。 两个窗口从不可见的同时。
利用客户端 - 服务器模型
当调用tmux时真正发生的事比它最初出现时更复杂。 实际上TMUX创建一个新的会话 。 然后在会话中创建单个窗口。 在窗口中创建单个窗格。
当调用tmux时会创建新会话。 它是上下文遏制的最高级别。 tmux的单个实例链接到单个会话。
当您在会话的最后一个窗口中退出最后一个窗格中的最后一个shell时,会话将终止。 而不是完全退出会话,您可以从会话中_detach_。
一个会话将继续在后台运行(tmux将fork到后台),当你分离时运行任何shell。
稍后重新连接到会话时,将以与分离时相同的状态返回到会话。 所有窗口和窗格都由会话保留。
这对于让进程在虚拟专用服务器上运行而不保持连接到VPS特别有用。
要从会话中分离:
Ctrl-b d
要重新附加到会话:
tmux attach -t [session name]
会话,如窗口,从0开始编号。如果您忘记了要附加到哪个会话,您可以查看活动会话:
tmux list-sessions
所有命令键的列表可通过以下方式访问:
Ctrl-b ?