Linux的tmux命令使用

tmux ("terminal multiplexer"的简称), 是一款优秀的终端复用软件,tmux来自于openbsd,采用bsd授权。使用它最直观的好处就是, 通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再"浪费"多余的终端来连接这台远程主机, 还有一个好处就是当终端关闭后该shell里面运行的任务进程也会随之中断,通过使用tmux就能很容易的解决这个问题。

  1. 关闭终端,再次打开时原终端里面的任务进程依然不会中断 ;

  2. 处于异地的两人可以对同一会话进行操作,一方的操作另一方可以实时看到 ;

  3. 可以在单个屏幕的灵活布局下开出很多终端,然后就能协作地使用它们 ;

1 安装启动

1.1 安装

bash 复制代码
# Ubuntu 或 Debian
sudo apt-get install tmux
 
# CentOS 或 Fedora
sudo yum install tmux

# Alpine Linux
sudo apk add tmux
 
# Mac
brew install tmux

1.2 启动与退出

bash 复制代码
#启动
tmux
 
#退出 快捷键Ctrl+d
exit

或先按ctrl+b, 放开后再按 &

1.3 使用说明

bash 复制代码
# 列出所有快捷键,及其对应的 Tmux 命令
tmux list-keys
 
# 列出所有 Tmux 命令及其参数
tmux list-commands
 
# 列出当前所有 Tmux 会话的信息
tmux info
 
# 重新加载当前的 Tmux 配置
tmux source-file ~/.tmux.conf

2 会话管理

2.1 新建会话

复制代码
tmux new -s <session-name>

2.2 分离会话

复制代码
tmux detach

或者使用快捷键:Ctrl+B d

2.3 接入会话

查看当前所有会话:

复制代码
tmux ls

或者使用快捷键:Ctrl+B s

重新接入某个会话:

bash 复制代码
# 使用会话编号
tmux attach -t 0
 
# 使用会话名称
tmux attach -t <session-name>

2.4 杀死会话

bash 复制代码
# 使用会话编号 
tmux kill-session -t 0 

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

2.5 切换会话

bash 复制代码
# 使用会话编号 
tmux switch -t 0 

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

2.6 重命名会话

bash 复制代码
​# 会话编号 -> 会话名称 
tmux rename-session -t 0 <new-name>

或者使用快捷键 :Ctrl+B $

2.7 操作步骤

复制代码
1. 新建会话tmux new -s my_session。
2. 在 Tmux 窗口运行所需的程序。
3. 按下快捷键Ctrl+b d将会话分离。
4. 下次使用时,重新连接到会话tmux attach-session -t my_session。

3 窗格操作

3.1 划分窗格

bash 复制代码
# 划分上下两个窗格 
tmux split-window 

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

3.2 移动光标

bash 复制代码
# 光标切换到上方窗格
tmux select-pane -U
 
# 光标切换到下方窗格
tmux select-pane -D
 
# 光标切换到左边窗格
tmux select-pane -L
 
# 光标切换到右边窗格
tmux select-pane -R

3.3 交换窗格位置

bash 复制代码
​# 当前窗格上移 
tmux swap-pane -U 

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

3.4 窗格快捷键

先按 ctrl+b, 放开后再按其他

复制代码
Ctrl+b x:关闭当前窗格。
Ctrl+b % :划分左右两个窗格。
Ctrl+b " :划分上下两个窗格。
Ctrl+b <↑↓←→> :光标切换到其他窗格。比如切换到下方窗格,就按方向键↓。
Ctrl+b ; :光标切换到上一个窗格。
Ctrl+b o :光标切换到下一个窗格。
Ctrl+b { :当前窗格与上一个窗格交换位置。
Ctrl+b } :当前窗格与下一个窗格交换位置。
Ctrl+b Ctrl+o :所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。
Ctrl+b Alt+o :所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。
Ctrl+b !:将当前窗格合并为一个独立窗口,即取消所有分屏。
Ctrl+b z :当前窗格全屏显示,再使用一次会变回原来大小。
Ctrl+b Ctrl+<↑↓←→> :按箭头方向调整窗格大小。
Ctrl+b q :显示窗格编号。Ctrl+b t : 显示时间

4 窗口管理

4.1 新建窗口

bash 复制代码
tmux new-window

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

4.2 切换窗口

bash 复制代码
# 切换到指定编号的窗口
tmux select-window -t <window-number>
 
# 切换到指定名称的窗口
tmux select-window -t <window-name>

4.3 重命名窗口

bash 复制代码
tmux rename-window <new-name>

4.4 窗口快捷键

先按 ctrl+b, 放开后再按其他

复制代码
Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息
Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。
Ctrl+b n:切换到下一个窗口。
Ctrl+b <number>:切换到指定编号的窗口,其中的<number>是状态栏上的窗口编号。。
Ctrl+b w :从列表中选择窗口。
Ctrl+b ,:窗口重命名
相关推荐
Kendra9195 分钟前
运维监控平台(Prometheus + Grafana)部署与维护
运维·grafana·prometheus
分布式存储与RustFS6 分钟前
指标、日志、链路进同一个桶:GreptimeDB 存算分离解读与 RustFS 接入配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
AAA代码批发商20 分钟前
DAYS 57【Linux 驱动深度】I2C 子系统驱动开发全指南:从架构、核心数据结构到设备驱动实战
linux·驱动开发·架构·内核开发·i2c 子系统
橙色云-智橙协同研发27 分钟前
电子高科技行业:机械与电子(MCAD & ECAD)如何协同?
大数据·运维·服务器·人工智能·安全
派小心.29 分钟前
A/B实验分层随机种子的稳定性验证
大数据·服务器·前端·数据分析
小此方37 分钟前
Linux网络(二十三):图文详解子网划分、分类划分的本质
linux·运维·网络
zoutao9839 分钟前
DeepSeek 智能效果实测与能力边界解析
大数据·运维·人工智能
wdfk_prog41 分钟前
LWIP教程 16:从 MTU 到 `ip4_frag()` / `ip4_reass()`——IPv4 分片、重组、超时与内存压力
运维·服务器·网络·笔记·学习
黄聪的笔记本1 小时前
阿里云香港服务器Workbench远程连接,没法SSH连接,22端口安全组已经放开
服务器·安全·阿里云
wespaul1 小时前
VeapAI 自然语言操作实战|第 04 篇:系统数据加工——把系统自身的元数据吃成知识
java·大数据·运维·数据库·人工智能