Tmux教程

一、功能

(1)分屏
(2) 允许断开Terminal连接后,继续运行进程	

1.1 结构

一个tmux可以包含多个session(会话),一个session可以包含多个window,一个window可以包含多个pane。

tmux

在 tmux 中,你可以创建多个会话(session),每个会话会默认创建一个窗口,而每个窗口(window)又会默认创建一个窗格(pane),每个窗格都对应一个伪终端用于执行命令。简单来讲可以把它们看成是分组的关系,每个组内可以有多个终端用来执行命令。而 tmux基本的操作无非就是基于会话,窗口和窗格对终端进行管理。

二、基本用法

2.1 安装

Tmux 一般需要自己安装,Ubuntu没有自带。

# Ubuntu 或 Debian
$ sudo apt-get install tmux

# CentOS 或 Fedora
$ sudo yum install tmux

# Mac
$ brew install tmux

2.2 启动与退出

安装完成后,键入tmux命令,就进入了 Tmux 窗口。

$ tmux

上面命令会启动 Tmux 窗口,底部有一个状态栏。状态栏的··左侧是窗口信息(编号和名称),右侧是系统信息。

启动Tmux窗口

按下Ctrl+d或者显式输入exit命令,就可以退出 Tmux 窗口。

$ exit

2.3 前缀键

Tmux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起。默认的前缀键是Ctrl+b,即先按下Ctrl+b,快捷键才会生效。

举例来说,帮助命令的快捷键是Ctrl+b ?。它的用法是,在 Tmux 窗口中,先按下Ctrl+b,再按下?,就会显示帮助信息。

然后,按下ESC 键或q键,就可以退出帮助。

tmux快捷键

三、会话(Session)管理

3.1 新建会话

第一个启动的 Tmux 窗口,编号是0,第二个窗口的编号是1,以此类推。这些窗口对应的会话,就是 0 号会话、1 号会话。

==没进入会话前,在终端窗口创建一个新对话,下面是命令:

$ tmux new -s <session-name>

Snipaste_2023-09-18_19-55-18

Snipaste_2023-09-18_19-58-34

查看session名字

要查看tmux当前会话的名称,可以使用以下命令:

tmux display-message -p "#S"

Snipaste_2023-09-18_00-13-10

重命名session

使用编号区分会话,不太直观,更好的方法是为会话起名。

要重命名tmux会话,可以使用以下命令或者快捷键ctrl+b $

tmux rename-session -t <会话名称或编号> <新会话名称>

例如,要将名为“0”的会话重命名为“session0”,可以执行以下命令:

tmux rename-session -t 0 session0

Snipaste_2023-09-18_00-26-10

注意:重命名会话后,新的会话名称将取代旧的会话名称,并且在其他会话中也将显示新的会话名称。

3.2 分离会话

在Tmux窗口中,按下ctrl+b d或者输入以下命令,就会将当前session与窗口分离,session转到后台执行。每次从一个session分离出来(也就是ctrl+b d),后台就会创建一个新的session

$ tmux detach

Snipaste_2023-09-18_18-15-43

列出所有会话:

$ tmux list

Snipaste_2023-09-18_18-24-08

上面命令执行后,就会退出当前 Tmux 窗口,但是会话和里面的进程仍然在后台运行。

3.3 接入会话

tmux attach`命令用于重新接入某个已存在的会话。

假设你已经在终端中启动了一个Tmux会话,并且在该会话中运行了一些程序。然后,你使用tmux detach命令或Ctrl+b d快捷键分离了会话,回到了常规的终端。

一段时间后,你想重新接入之前分离的Tmux会话。在终端中输入以下命令:

tmux attach -t<session-name>

Snipaste_2023-09-18_20-15-21

3.4 杀死对话

tmux kill-session命令用于杀死某个会话。

# 使用会话编号,假如你想杀死编号0这个对话
$ tmux kill-session -t 0

# 使用会话名称
$ tmux kill-session -t <session-name>

3.5 切换对话

tmux switch命令用于切换会话。

# 使用会话编号
$ tmux switch -t 0

# 使用会话名称
$ tmux switch -t <session-name>

3.6 会话快捷键

下面表格是会话的快捷键:

快捷键说明
Ctrl + b前缀键(两个一起按下,然后一起松开)
Ctrl + b $重命名当前会话。
Ctrl + b d分离当前会话(离开终端但不停止当前命令)
Ctrl + b s列出所有会话

四、窗口(Window)管理

Tmux的一个会话里可以有多个窗口

4.1 新建窗口

tmux new-window命令用来创建新窗口,快捷键:ctrl+b c

默认创建窗口:

# 默认窗口名字是bash[编号]
$ tmux new-window

Snipaste_2023-09-18_21-17-36

指定名称窗口:

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

Snipaste_2023-09-18_21-29-13

4.2 切换窗口

tmux select-window命令用来切换窗口,快捷键:ctrl+b p(上一个pre) ctrl+b n(下一个next) ctrl+b [编号number]

# 切换到指定编号的窗口
$ tmux select-window -t <window-number>

# 切换到指定名称的窗口
$ tmux select-window -t <window-name>

这里就不放图片了哈。根据上面的图片可以自己试试哦,相信你一定可以弄明白session和window的去别的😊😊😊

4.3 重命名窗口

tmux rename-window命令用于为当前窗口起名(或重命名),快捷键:ctrl+b ,

$ tmux rename-window <new-name>

感兴趣的自己试着在Ubuntu里敲这个命令哈~

4.4 窗口快捷键

快捷键说明
Ctrl + b前缀键(两个一起按下,然后一起松开)
Ctrl + b c创建一个新窗口,状态栏会显示多个窗口的信息。
Ctrl + b p切换到上一个窗口(按照状态栏上的顺序)。
Ctrl + b n切换到下一个窗口。
Ctrl + b nunber切换到指定编号的窗口,其中的是状态栏上的窗口编号。
Ctrl + b w切换到指定编号的窗口,其中的是状态栏上的窗口编号。
Ctrl + b ,窗口重命名。

Snipaste_2023-09-18_21-58-01

五、窗格(pane)管理

Tmux 可以将窗口分成多个窗格(pane),每个窗格运行不同的命令。以下命令都是在 Tmux 窗口中执行。

5.1 划分窗格

tmux split-window命令用来划分窗格,快捷键:ctrl+b %划分左右两个窗格 ctrl+b ‘’ 划分上下两个窗格。

# 划分上下两个窗格
$ tmux split-window

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

Snipaste_2023-09-18_22-12-30

5.2 移动光标

tmux select-pane命令用来移动光标位置。这里就不写快捷键了哈😌,下面会全部列出。

# 光标切换到上方窗格
$ tmux select-pane -U

# 光标切换到下方窗格
$ tmux select-pane -D

# 光标切换到左边窗格
$ tmux select-pane -L

# 光标切换到右边窗格
$ tmux select-pane -R
5.3 交换窗格位置

tmux swap-pane命令用来交换窗格位置。

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

# 当前窗格下移
$ tmux swap-pane -D
5.4 窗格快捷键

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

快捷键说明
Ctrl+b前缀键(两个一起按下,然后一起松开)
Ctrl+b %划分左右两个窗格。
Ctrl+b ‘’划分上下两个窗格。
Ctrl+b arrow key光标切换到其他窗格。是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键。
Ctrl+b ;光标切换到上一个窗格。
Ctrl+b o光标切换到下一个窗格(一行中的左到右再到下一行的左到右…)
Ctrl+b {当前窗格与上一个窗格交换位置。
Ctrl+b }当前窗格与下一个窗格交换位置。
Ctrl+b Ctrl+o所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。
Ctrl+b Alt+o所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。
Ctrl+b x关闭当前窗格。
Ctrl+b !将当前窗格拆分为一个独立窗口。
Ctrl+b z当前窗格全屏显示,再使用一次会变回原来大小。
Ctrl+b q显示窗格编号。

tmux 中还有另一类快捷键,它们的触发方式与上面有所区别。这里以 Ctrl+b Ctrl+o 为例,需要先Ctrl+b 按下 ,然后 Ctrl 按住不动, 松开 按键b,然后在按下按键 o。这样的快捷键触发方式在 Visual Studio Code中很常见,但在 tmux 中只有几个快捷键的触发方式是这样子的。

  • 按下Ctrl+b
  • 松开b
  • 按下o

而对于快捷键Ctrl+b Alt+o ,则需要先按下Ctrl+b ,然后松开Ctrl+b ,接着按下 Alt+o

  • 按下Ctrl+b
  • 松开Ctrl+b
  • 按下Alt+o

六、结语

Tmux是很好用的工具,虽然快捷键对于新手来说有些繁琐,一旦你熟练后它一定会给你很大的帮助的。如果文章有错的地方请在评论区指出哦,大家一起讨论学习。

我是WX_Chen,我们下期见🤗🤗🤗

参考链接

http://t.csdn.cn/eBLHj

http://t.csdn.cn/sh2gI

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值