终端复用神器Tmux使用教程

本文详细介绍Tmux的安装、基本操作及高级功能,包括如何创建、分离和重命名会话,窗口的扩展与切换,以及一系列实用快捷键。Tmux帮助用户在单一终端窗口中高效管理多个会话,实现远程工作场景的无缝衔接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是Tmux

Tmux
Tmux是一个终端复用软件 Termial mutiplexer,用来分离terminal和session。
我们经常遇到这样的场景,我们开启了一个Terminal A,对应Session A,在A中启动了一系列非守护进程,由于这些进程是A的子进程,当我们关闭Terminal A,也就是Session A,大部分进程将会同样被关闭,也就是关闭窗口的同时,窗口打开的进程也被关闭了。

我们可以借助Tmux将Session和Terminal分开来解决这个问题。
Tmux允许在一个窗口中开启多个Session,自由地在Session之间切换,并且退出窗口不会关闭这些Session。

2.使用tmux

2.1安装Tmux

Centos

yum install tmux

macOS:

brew install tmux

2.2 启动、进入、分离与退出Session

启动tmux

//开启一个编号自动递增的session
tmux 
//开启一个名为my_name的session
tmux new -s my_name

两个命令的区别是第一个命令默认生成从0开始的数字编号session
第二个在创建session时指定名称,方便回到指定session
编号
可以通过命令

tmux ls

来查看系统中后台运行的session名,根据session名来进入指定session
查看

分离session

例如我们创建了一个名为back 的session后就可以在里面操作,执行了一个nohup后台任务 ,操作完成后我们想退出这个session但是不关闭它,就可以用分离(detach)来将窗口分离,可以使用Ctrl + b + d或者

tmux detach

离开back而不影响back,我们稍后还可以回到这个session,继续之前的任务

回到session

刚刚我们离开了session back
我们使用Terminal处理完其它事情之后,可以回到刚刚的session,还记得我们之前的命令吗tmux ls 查看一下运行在后台的session
tmux ls
可以看到我们的back session还在健康茁壮的运行着
使用

tmux attach -t  name

来回到名为name的session
又回到了原来的back工作场景

退出Session

tmux detach只会让当前session后台运行,如果我们确实需要退出某个session
可以直接exit或者

tmux kill-session -t name

重命名Session

之前使用了默认数字编号或者session起名想换一个,可以使用

tmux rename-session -t formername newname

来修改session名称

2.3Tmux窗口扩展和切换

前面我们都是每个session内只用一个窗口(pane),我们可以在一个session内使用多个窗口来并行查看多个任务
多窗口

垂直划分

划分为上下窗口
tmux split-window

水平划分

划分为左右窗口
tmux split-window -h

在窗口间移动光标

tmux select-pane

上下移动
tmux select-pane -U
tmux select-pane -D
左右移动
tmux select-pane -L
tmux select-pane -R

交换窗格位置。

tmux swap-pane命令用来

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

# 当前窗格下移
tmux swap-pane -D

3.常用操作

3.1经典场景

    1. ssh或mosh(墙裂推荐)登录远程主机
    1. tmux新建或者attach到原来的工作session
    1. 工作
    1. 完成工作后detach下班
    1. 第二天早上回来重复1即可还原昨天的工作场景,延续workflow

3.2经典快捷键

Ctrl+b %:划分左右两个窗格。
Ctrl+b ":划分上下两个窗格。
Ctrl+b <arrow key>:光标切换到其他窗格。<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 Ctrl+<arrow key>:按箭头方向调整窗格大小。
Ctrl+b q:显示窗格编号。

4.其它

下面是一些其他命令。

# 列出所有快捷键,及其对应的 Tmux 命令
$ tmux list-keys

# 列出所有 Tmux 命令及其参数
$ tmux list-commands

# 列出当前所有 Tmux 会话的信息
$ tmux info

# 重新加载当前的 Tmux 配置
$ tmux source-file ~/.tmux.conf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值