面试官:什么是终端复用技术(tmux)?

admin 2024年10月6日23:24:34评论20 views字数 1971阅读6分34秒阅读模式
~ 凉风有信,风月无边 ~

前言

tmux是Terminal Multiplexer的开源终端复用工具,支持多会话、窗口和面板操作。它让你高效管理一个窗口中的多个终端,且终端不会因关闭窗口或断开SSH而丢失。

举一个简单的例子,例如,我启动了一个flask应用,这里是可以直接访问的

面试官:什么是终端复用技术(tmux)?
image-20241004181228538

如果我关闭这个ssh连接,那么就会导致这个flask应用直接垮掉

面试官:什么是终端复用技术(tmux)?
image-20241004181436004

关闭之后,这个flask应用就访问不了了

面试官:什么是终端复用技术(tmux)?
image-20241004181504085

那么此时我们就需要用到终端复用技术,当然也可以直接使用docker,这里只是为了演示

tmux概述

定义与功能

tmux是一个开源的终端复用器,允许用户在一个终端窗口中运行多个会话(session)、窗口(window)和面板(pane),提高终端工作的效率。

主要优势

会话保持、多任务处理、高度自定义。

背景

tmux的前身是screen,但提供了更现代的界面和更多的自定义选项,成为Unix/Linux用户的首选。

tmux的基本概念

会话(Session)

工作空间的集合,包含多个窗口,持久存在,即使断开SSH或终端仍保持运行。这就很完美的解决了刚才flask应用那个问题。

窗口(Window)

每个会话可以有多个窗口,每个窗口看作一个独立的终端,运行不同的命令或程序。

面板(Pane)

窗口可以分割成多个面板,同时运行和查看多个任务,面板分割可以水平或垂直进行。

安装tmux

Ubuntu/Debian使用

sudo apt install tmux

CentOS

sudo yum install tmux

tmux常用命令详解

会话管理

启动会话

tmux

命名并启动会话

tmux new -s mysession

比如我创建一个flask应用,需要单独执行一个命令,并保持他ssh断开不会自动终止命令执行

面试官:什么是终端复用技术(tmux)?
image-20241004183516379

会话名称

面试官:什么是终端复用技术(tmux)?
image-20241004183610904

启动flask应用

面试官:什么是终端复用技术(tmux)?
image-20241004183733813

关闭我们的终端,断开ssh连接,并访问网页,可以看到正常访问

面试官:什么是终端复用技术(tmux)?
image-20241004183927125

列出会话

tmux ls

可以看到刚刚运行flask-app窗口还在

面试官:什么是终端复用技术(tmux)?
image-20241004184058381

重新连接会话

tmux attach -t mysession
面试官:什么是终端复用技术(tmux)?
image-20241004184547141

可以看到这个flask应用还在运行

面试官:什么是终端复用技术(tmux)?
image-20241004184606095

分离会话

Ctrl + b 后按 d

杀死会话

tmux kill-session -t mysession
面试官:什么是终端复用技术(tmux)?
image-20241004184925149

窗口管理

新建窗口

Ctrl + b 后按 c

切换窗口

Ctrl + b 后按 n 或 p

重命名窗口

Ctrl + b 后按 , 

面板管理

水平分割面板

Ctrl + b 后按 "

垂直分割面板

Ctrl + b 后按 %

切换面板

Ctrl + b 后按方向键

调整面板大小

Ctrl + b 后按住 Ctrl 再按方向键

关闭面板(Ctrl + dexit)。

复制和粘贴

进入复制模式

Ctrl + b后按[,使用箭头键移动光标。

选择文本

移动光标到复制起点,按空格键开始选择,到复制结尾按回车完成。

粘贴文本

Ctrl + b后按]

鼠标支持

通过配置文件~/.tmux.conf开启鼠标模式,使复制操作更直观。

配置与自定义

创建配置文件

touch ~/.tmux.conf后使用编辑器(如nano)打开。

添加配置

如开启鼠标模式(set-g mouse on)、使用鼠标选择窗口(bind-n MouseDown2Pane choose-window)。

应用配置

在tmux窗口中,Ctrl + b后按:进入命令模式,输入source-file ~/.tmux.conf后按回车。

tmux实际应用场景

远程管理服务器

保存会话,避免网络断开导致工作中断,同时运行多个任务。

多任务开发与调试

分割多个面板,一边运行应用程序,一边查看日志,同时进行调试。

自动化任务管理

与脚本结合,自动化常见任务,预设多个任务并自动启动一系列窗口和面板。

总结

tmux是一个功能强大的终端复用器,通过会话、窗口和面板的层级结构管理多个终端会话和任务,提供了丰富的快捷键和自定义选项,适用于远程操作、开发和多任务处理场景,能够显著提高终端工作的效率和便捷性。

往期推荐

密码学中的常用加密方式?

渗透测试中新手必练的15个靶场

伪静态注入的几种方式

【内网渗透】免工具,内网、域内信息收集的40种方式总结

【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS

原文始发于微信公众号(泷羽Sec):面试官:什么是终端复用技术(tmux)?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月6日23:24:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   面试官:什么是终端复用技术(tmux)?https://cn-sec.com/archives/3232878.html

发表评论

匿名网友 填写信息