Tmux 实用教程

news/2025/3/27 0:58:15/

1. Tmux是什么?

  • Tmux是一个终端复用器(terminal multiplexer),属于常用的开发工具,学会了之后可以大大的提高工作效率。
  • 官网文档:https://github.com/tmux/tmux/wiki/Getting-Started

1.1 基本概念

在使用tmux之前我们先了解关于tmux的几个名词:

  • session,会话(任务)
  • windows,窗口
  • pane,窗格

关于session,很多人把session成为会话,但我觉得叫任务更适合一些。

在普通的终端中,窗口和其中由于session(任务)而启动的进程是连在一起的,关闭窗口,session就结束了,session内部的进程也会终止,不管是否运行完。但是在具体使用中,我们希望当前的session隐藏起来,在终端中做其他事情,但是又不希望session及其进程被关闭。这样就需要用到tmux,对session进行解绑。之后再想继续出来这个session的时候,再次绑定就可以回到之前的工作状态。

对于window可以理解为一个工作区,一个窗口。

对于一个session,可以创建好几个window,对于每一个窗口,都可以将其分解为几个pane小窗格。

所以,关于session、window、pane的关系是:
[pane∈window]∈session

1.2 安装

# Ubuntu or Debian
$ sudo apt-get install tmux# CentOS or Fedora
$ sudo yum install tmux# Mac
$ brew install tmux

2. session操作

2.0 快捷键

  • ctrl+b d:window 和 session 解绑
  • Ctrl+b s:列出所有会话
  • Ctrl+b $:重命名当前会话
  • ctrl+d: 杀掉当前session

2.1 启动

新建session,可以在terminal上输入tmux命令,会自动生成一个id为0的session

$ tmux

也可以在建立时显式地说明session的名字,这个名字可以用于解绑后快速的重新进入该session:

$ tmux new -s your-session-name

2.2 分离

输入一下命令或快捷键 ctrl+b d ,就会将当前session与窗口分离,session转到后台执行:

$ tmux detach

2.3 退出

输入下面命令或快捷键ctrl+d,杀死session:

$ tmux kill-session -t your-session-name

2.4 绑定、解绑、切换session

假设现在正处于session1,使用分离操作就是将session1进行解绑:
或快捷键 ctrl+b d

$ tmux detach

而如果你想再次绑定session1,可以使用命令:

$ tmux attach -t your-session-name

切换到指定session:

$ tmux switch -t your-session-name

2.5 重命名session

$ tmux rename-session -t old-session new-session

3. window操作

一个session可以有好几个window窗口。

3.0 快捷键

  • Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息。
  • Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。
  • Ctrl+b n:切换到下一个窗口。
  • Ctrl+b <number>:切换到指定编号的窗口,其中的是状态栏上的窗口编号。
  • Ctrl+b w:从列表中选择窗口。
  • Ctrl+b ,:窗口重命名。
  • exitctrl+b & 终止窗口

3.1 新建窗口

# 新建一个指定名称的窗口
$ tmux new-window -n your-window-name

3.2 切换窗口

命令就不记了,使用快捷键更方便:

  • ctrl+b c : 创建一个新窗口(状态栏会显示多个窗口的信息)
  • ctrl+b p : 切换到上一个窗口(按照状态栏的顺序)
  • ctrl+b n : 切换到下一个窗口
  • ctrl+b w : 从列表中选择窗口(这个最好用)

3.3 重命名窗口

$ tmux rename-window -t old_name new_name

3.4 终止窗口

终止一个终端窗口(需确认)
快捷键:exitctrl+b &

4. pane操作

tmux可以将一个窗口分为几个窗格(pane),每个窗格运行不同的命令。

4.0 快捷键

下面是一些窗格操作的快捷键。

  • Ctrl+b %:划分左右两个窗格。
  • Ctrl+b ":划分上下两个窗格。
  • Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。
  • Ctrl+b x:关闭当前窗格。
  • Ctrl+b q:显示窗格编号。
  • Ctrl+b <arrow key>:光标切换到其他窗格。是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。
  • Ctrl+b ;:光标切换到上一个窗格。
  • Ctrl+b o:光标切换到下一个窗格。
  • Ctrl+b {:当前窗格左移。
  • Ctrl+b }:当前窗格右移。
  • Ctrl+b Ctrl+o:当前窗格上移。
  • Ctrl+b Alt+o:当前窗格下移。
  • Ctrl+b !:将当前窗格拆分为一个独立窗口。
  • Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小。

4.1 划分窗格

快捷键

  • 左右划分:ctrl+b %

  • 上下划分:ctrl+b "

命令

# 划分为上下两个窗格
$ tmux split-window# 划分左右两个窗格
$ tmux split-window -h

4.2 光标位置

使用语句太麻烦了,使用快捷键最好:ctrl+b arrow-key(方向键):光标切换到其他窗格

4.3 交换窗格位置

# 当前窗格往上移
$ tmux swap-pane -U# 当前窗格往下移
$tmux swap-pane -D

4.4 窗格尺寸

  • 快捷键 ctrl+b z 放大放小
  • 鼠标改变pane大小(用鼠标点击分界线即可)

先按Ctrl + B, 松开以后,输入冒号,setw -g mouse-resize-pane on,即可开启

4.5窗格布局

快捷键 ctrl + b + 空格

4.5 关闭窗格

  • ctrl+d,记住如果只有一个窗格就是关闭window
  • 命令 exit
  • ctrl+x 关闭 pane

5. 其他操作

5.1 tmux上下翻屏

使用快捷键ctrl+b [ ,就可以通过方向键上下移动使用PageUp和PageDown可以实现上下翻页,退出:q

5.2 设置窗口同步

ctrl + b:输入下面的命令

$ set synchronize-panes	      开启同步
$ set synchronize-panes off   关闭同步

5.3 配置相关

# 查看所有session
$ tmux ls# 列出所有快捷键,及其对应的 Tmux 命令
$ tmux list-keys# 列出所有 Tmux 命令及其参数
$ tmux list-commands# 列出当前所有 Tmux 会话的信息
$ tmux info# 重新加载当前的 Tmux 配置
$ tmux source-file ~/.tmux.conf
文章来源:https://blog.csdn.net/weixin_44322234/article/details/130687700
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/news/70722.html

相关文章

Linux-权限

文章目录 1. 认识Linux下用户的分类1.1用户切换1. 2 指令暂时提权 2. 什么叫做权限2.1. 文件属性文件的类型文件权限属性角色和具体的人&#xff08;用户&#xff09;是什么关系呢&#xff1f;权限 3. 见一见没有权限会有什么现象&#xff08;见见)4. 权限的修改问题修改文件 拥…

jQuery 操作 DOM 及 CSS

jQuery 操作 DOM 及 CSS 1. jQuery 修改|获取页面元素文本及属性值 text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容&#xff08;包括 HTML 标签&#xff09; val() - 设置或返回表单字段的值 attr() - 方法用于获取属性值。 1.1 举例&#xff…

汽车功能安全

01、功能安全的定义 “功能安全”的定义为&#xff1a;不存在由于电子/电气系统而导致的不合理、不可接受的风险。也就是说&#xff0c;当电子/电气系统发生故障后&#xff0c;汽车仍然能够处于安全行驶状态&#xff0c;不会导致不可控的危险。 功能安全的概念初步形成于上个…

Jetpack Compose中的列表控件LazyRow和LazyColumn详解

背景 如果你需要显示大量的条目&#xff08;或一个未知长度的列表&#xff09;&#xff0c;使用像 Column 这样的布局会导致性能问题&#xff0c;因为所有的条目都会被组合和布局&#xff0c;无论它们是否可见。那么&#xff0c;在Compose中有没有像RecycleView的控件可以滑动…

Unity用AI制作天空盒,并使用,详细图文教程

Unity用AI制作天空盒&#xff0c;并使用&#xff0c;详细图文教程 效果AI制作使用总结版权声明 效果 先上我自己做的效果 AI制作 首先登录AI制作的网站&#xff0c;打开就可以用&#xff0c;不需要登录 这是网址&#xff1a;https://skybox.blockadelabs.com/ 1.创建新的 2…

GraphPad Prism 9.5.1 for Mac 操作简便功能强大且实用的医学绘图分析工具

GraphPad Prism简介 GraphPad Prism是一款非常实用的统计软件&#xff0c;其功能非常强大&#xff0c;能够帮助用户进行各类科研数据的处理和分析&#xff0c;快速绘制出各种专业的图像和数据报告。 GraphPad Prism软件的用户界面非常友好&#xff0c;易于学习和操作&#xf…

java并发-ReentrantLock

当多个线程需要同时对共享资源进行操作时&#xff0c;就需要用到线程同步技术。Java中提供了synchronized关键字用于线程同步&#xff0c;而ReentrantLock就是另外一种用于线程同步的技术&#xff0c;本文将介绍ReentrantLock及其使用方法。 ### 1. 概述 ReentrantLock是Java…

飞凌嵌入式技术帖——i.MX9352的GPIO怎么用?

之前小编为大家介绍过在飞凌嵌入式i.MX6ULL开发板上操作GPIO的方法。本期&#xff0c;让我们一起走近i.MX9352处理器&#xff0c;深入了解这位i.MX系列新成员的GPIO该如何操作&#xff0c;以及它与前辈i.MX6ULL处理器又有哪些异同。 01 硬件原理分析 以点灯和按键为例&#xf…