前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tmux:Linux终端复用神器,包好用

Tmux:Linux终端复用神器,包好用

作者头像
生信菜鸟团
发布2023-09-09 17:00:00
3170
发布2023-09-09 17:00:00
举报
文章被收录于专栏:生信菜鸟团生信菜鸟团

本期教程介绍一个Linux终端复用神器Tmux。首先,让ChatGPT来介绍一下什么叫“Linux终端复用”?为什么需要用这个软件?使用场景有哪些?

  • "Linux终端复用软件"指的是一类用于在Linux终端中进行多任务、多窗口管理和会话保持的工具。其中,Tmux(Terminal Multiplexer)是其中一种非常受欢迎的终端复用工具。
  • 在传统的终端环境中,一次只能运行一个程序或一个会话,并且当终端关闭或连接中断时,会话也会中止。这导致了在同时进行多个任务或会话时的不便,并且可能丢失正在运行的进程或会话。
  • 使用终端复用神器,如Tmux,可以解决这些问题,并提供更高效的终端使用体验。以下是一些使用Tmux或类似终端复用工具的场景和优点: 总之,Linux终端复用神器如Tmux提供了更灵活、高效和便捷的终端环境,适用于多任务管理、会话保持、远程协作等多种场景,提升了终端使用的效率和体验。
    • 多任务管理:Tmux允许在同一个终端窗口中创建和管理多个终端会话,可以同时运行多个程序或命令,轻松切换和管理任务。
    • 会话保持:Tmux可以保持会话的持续性,即使断开终端连接或关闭终端窗口,会话仍然在后台运行。这意味着你可以在重新连接时恢复之前的会话状态,无需重新启动程序或恢复工作环境。
    • 分割窗格:Tmux允许在一个终端窗口中创建多个分割的窗格,使得同时查看和操作不同的终端会话变得更加方便。
    • 配置和扩展性:Tmux提供了丰富的配置选项和插件系统,允许用户根据自己的需求定制终端环境,并扩展其功能。
    • 远程协作:Tmux允许多个用户同时连接到同一个会话,方便远程协作和共享终端会话。

ChatGPT的回答还是非常准确的。从我自身的角度来说,有些时候我有一些不是很花时间的小命令懒得挂后台运行,直接在xShell里跑,但是由于我们学校的校园网很烂,经常出现断网重连的情况,一旦断网,xShell就断开了,我之前跑的程序也挂了,让人很烦躁。这样迫使我去学了一下Tmux这软件。总的来说,使用的体验非常好,也不难学。

接下来我介绍一下Tmux的软件部署和一些快捷键,以及实战。

一、软件安装

Tmux的安装应该是需要root权限的,Ubuntu版本下可以直接使用apt安装:

代码语言:javascript
复制
sudo apt-get install tmux

CentOS版本下使用yum安装:

代码语言:javascript
复制
yum install -y tmux

由于我也没有root权限,且管理员已经帮我装好了,我没有软件安装方面的经验。看着代码是很简单的。

安装完成之后,检查一下软件的安装版本:

代码语言:javascript
复制
tmux -V
#tmux 3.0a

二、Tmux快捷键

Tmux的快捷键比较多,需要用户去熟悉和记忆。但就像Linux那样,常用的就那几个,用熟了就好。

以下快捷键来自:Linux 终端复用神器 Tmux 使用详解,看完可以回家躺平了~,更详细的说明也可以看这个帖子,接下来我直接实战演练。

Tmux的快捷键使用说明:

Tmux的快捷键使用说明

三、Tmux实战

可以把Tmux理解成一个conda。只不过conda是用于安装软件的,而Tmux是用来跑程序的终端。

首先,``tmux ls `用于查看当前开启的终端情况,当然首次使用的话,是没有内容的:

代码语言:javascript
复制
tmux ls 
#error connecting to /tmp//tmux-1191/default (No such file or directory)

而我创建过3个终端,默认情况下tmux是用数字来表示终端ID的:

代码语言:javascript
复制
tmux ls 
#0: 2 windows (created Thu Jul 13 14:02:26 2023) (attached)
#1: 2 windows (created Thu Jul 13 20:07:25 2023)
#2: 2 windows (created Thu Jul 13 20:11:48 2023)

首次使用的话,我们先创建一个Tmux终端,直接输入 tmux软件名称即可创建一个新的终端0号:

代码语言:javascript
复制
 tmux

注意,除了最下面这个绿色的框,其余的和终端是一样的。

然后我们可以在这个终端里开始运行命令。比如我用conda激活一个环境,然后开始运行shell脚本或者python代码:

代码语言:javascript
复制
conda activate 10x
python

一般情况下除非是你的服务器断电了,不然你在这里运行的所有程序都不会被意外中断。如果是花时间的程序,用户可以把这个终端关掉,甚至把电脑关机。

然后我介绍一下一些常用的快捷键:

  • 首先,在使用快捷键之前,都需要先按Ctrl + B,按 d键可以退出当前会话,再键入tmux attach即可回到之前那个会话;
  • Ctrl + B,然后加上,,即可重命名当前的窗口:
  • Ctrl + B,然后加上c,在test_1会话的基础上,再开了一个会话1:bash

注意,test_1会话里激活了一个conda环境同时开着python,而这个新建的1:bash是全新的。然后用户可以继续重命名当前会话,运行代码。按Ctrl + B,然后加上p,是回到上一个会话;按Ctrl + B,然后加上n,是去下一个会话。Ctrl + B0切换到0号窗口,依次类推,可换成任意窗口序号。按Ctrl + Bw列出当前session所有窗口:

通过上、下键切换窗口:

  • Ctrl + Bd,或者Ctrl + BCtr+z,可以暂时脱离当前会话;Ctrl + B& ,回复y可以永久关闭这个小环境里的所有会话:
  • 如果是Ctrl + BCtr+z退出,或者是直接叉掉了xShell,下次还想链接回目标会话,使用tmux ls tmux attach -t就行了,-t后面加你想进入的ID编号,比如tmux attach -t 0

image-20230713211248515

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信菜鸟团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、软件安装
  • 二、Tmux快捷键
  • 三、Tmux实战
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档