超越传统终端:用 tmux 实现高效的远程会话管理

1 简介

        在当今快速发展的技术世界里,高效地管理多个终端会话已成为开发人员、系统管理员以及任何需要进行复杂终端操作用户的必备技能,这就是 tmux 大显身手的舞台。

        作为一个功能强大的终端多路复用器,tmux 允许用户在单个窗口中创建、管理和切换多个会话,从而极大地提高工作效率和灵活性。

        tmux不仅仅是一个会话管理器,它还提供了一系列高级的功能,如窗口分割、会话持久化、以及自定义配置,这使得它成为了终端工作的得力助手。无论是在远程服务器上保持长时间运行的进程,还是在本地机器上同时处理多个任务,tmux 都能提供一个稳定且高效的工作环境。

        本文将向您介绍 tmux 的基本概念和操作,帮助您快速入门并利用这个强大的工具来优化您的终端体验。

        无论您是 tmux 的新手,还是希望进一步提高您的终端管理技能,本文都将为您提供必要的指导和建议。

2 实操演示

2.1 基本使用方法

 (1)安装tmux

sudo yum install tmux

 (2)启动 tmux 会话

tmux new -s flmtx01

超越传统终端:用 tmux 实现高效的远程会话管理_第1张图片

(3)退出会话

   a、暂时离开会话(保持会话在后台运行)

          按下 Ctrl + b,然后释放这些键并按 d 这将“分离”当前会话,将其留在后台运行。

    b、关闭会话

         关闭会话是一种比较温和的方法,逐个关闭窗口,给予进程正常结束的机会

   方法1:关闭当前窗口

exit

   方法2:关闭当前窗口(有点特殊,使用时需要注意)

        当按下 Ctrl + b 然后 &tmux 会询问你是否确定要关闭当前窗口。

        如果你确认,当前窗口会被关闭。

        如果这是会话中的最后一个窗口,执行这个操作将导致整个 tmux 会话结束。

Ctrl + b 然后按 &

   c、完全结束会话

         是一种快速但粗暴的方法,用于立即结束整个会话及其所有活动,不提供关闭或保存工作的机会。

tmux kill-session -t 会话名称

超越传统终端:用 tmux 实现高效的远程会话管理_第2张图片

(4)重新连接会话

  连接到一个指定名称的会话

tmux attach-session -t 会话名称

  连接到最后一个使用的会话

tmux attach

2.2 会话保持

        即使 SSH 连接意外断开,tmux 会话仍然在服务器上保持活动状态。

        这意味着你可以重新连接到服务器,并恢复 tmux 会话,继续你的工作,而不会丢失进度。

超越传统终端:用 tmux 实现高效的远程会话管理_第3张图片

超越传统终端:用 tmux 实现高效的远程会话管理_第4张图片

2.3 多窗口和面板

  tmux 允许你在一个单独的 SSH 连接中开启多个窗口和面板,使得同时运行和监控多个进程变得更加容易。

2.3.1 创建垂直分割窗口

使用 Ctrl + b 然后 %

超越传统终端:用 tmux 实现高效的远程会话管理_第5张图片2.3.2 创建水平分割窗口

Ctrl + b 然后 "

超越传统终端:用 tmux 实现高效的远程会话管理_第6张图片

2.3.3 取消创建的分割窗口

        使用 Ctrl + b 然后使用方向键,选择你想要关闭的面板,当选中了要关闭的面板后,可以简单地输入 exit 命令或按 Ctrl + d 将当前面板关闭,如果这是窗口中的最后一个面板,整个窗口也将被关闭。

2.3.4 调整面板大小

 (1)基本调整方法

        按 Ctrl + b,然后不要放开 Ctrl,接着按下一个方向键(上、下、左、右),来调整相邻面板的大小(Ctrl不松手,按一下b按一下方向键)。

  (2)精确调整方法

        Ctrl + b 然后 : 进入命令模式,输入调整面板大小的命令

        例如 resize-pane -L 10(将当前面板向左扩大 10 单位)

        resize-pane 命令可以通过 -L-R(左右调整)、-U-D(上下调整)选项来精确控制面板大小。

超越传统终端:用 tmux 实现高效的远程会话管理_第7张图片

超越传统终端:用 tmux 实现高效的远程会话管理_第8张图片

超越传统终端:用 tmux 实现高效的远程会话管理_第9张图片

2.4 会话共享

        `tmux` 支持多用户会话共享,这使得多个用户可以同时查看和操作同一终端会话,这对于编程教学、团队协作或共同调试问题非常有用。

A用户和B用户看到的画面是实时动态的

你可能感兴趣的:(Linux专栏,服务器,linux,tmux命令)