当前位置: 首页 > web >正文

【linux】一文掌握 Tmux 的各种指令(Tmux备忘清单)

文章目录

    • 一、Tmux概述
      • 1.1 Tmux介绍
      • 1.2 Tmux 安装
      • 1.3 基本概念
    • 二、基本使用
      • 2.1 会话操作
      • 2.2 窗口操作
      • 2.3 窗格操作
    • 三、高级功能
      • 3.1 复制模式
      • 3.2 会话共享
      • 3.3 自定义配置 (~/.tmux.conf)
      • 3.4 实用技巧
    • 四、常见问题解决

一、Tmux概述

1.1 Tmux介绍

Tmux (Terminal Multiplexer) 是一个强大的终端复用工具,允许用户在单个终端窗口中创建、访问和控制多个终端会话。以下是 Tmux 的全面详解:

1.2 Tmux 安装

Ubuntu/Debian

sudo apt-get install tmux

CentOS/RHEL

sudo yum install tmux

macOS (Homebrew)

brew install tmux

1.3 基本概念

  • 会话(Session):一组窗口的集合,可以随时断开和重新连接
  • 窗口(Window):相当于一个标签页,包含一个或多个窗格
  • 窗格(Pane):窗口中的实际终端区域,可以水平或垂直分割

二、基本使用

2.1 会话操作

命令/快捷键说明
tmux启动新会话
tmux new -s <name>创建命名会话
tmux ls列出所有会话
tmux attach -t <name>重新连接会话
tmux kill-session -t <name>终止指定会话
Ctrl+b d分离当前会话(保持后台运行)

2.2 窗口操作

快捷键说明
Ctrl+b c创建新窗口
Ctrl+b &关闭当前窗口
Ctrl+b n切换到下一个窗口
Ctrl+b p切换到上一个窗口
Ctrl+b <number>切换到指定编号窗口
Ctrl+b ,重命名当前窗口

2.3 窗格操作

快捷键说明
Ctrl+b %垂直分割窗格
Ctrl+b "水平分割窗格
Ctrl+b <arrow>在窗格间移动
Ctrl+b x关闭当前窗格
Ctrl+b z放大/缩小当前窗格
Ctrl+b Space切换窗格布局
Ctrl+b Alt+<arrow>调整窗格大小

三、高级功能

3.1 复制模式

  1. 进入复制模式:Ctrl+b [
  2. 使用方向键移动光标
  3. Space 开始选择,Enter 复制
  4. 粘贴:Ctrl+b ]

3.2 会话共享

# 用户A创建会话
tmux new -s shared# 用户B连接到同一会话
tmux attach -t shared

3.3 自定义配置 (~/.tmux.conf)

# 设置前缀键为Ctrl+a
unbind C-b
set -g prefix C-a
bind C-a send-prefix# 启用鼠标支持
set -g mouse on# 设置状态栏
set -g status-bg blue
set -g status-fg white# 重新加载配置
bind r source-file ~/.tmux.conf \; display "Reloaded!"

3.4 实用技巧

  1. 快速创建开发环境

    tmux new -s dev -n editor \; \send-keys 'vim' C-m \; \split-window -v \; \send-keys 'htop' C-m \; \split-window -h \; \send-keys 'watch -n 1 df -h' C-m
    
  2. 保存和恢复会话

    # 保存
    tmux list-windows -a -F "#S:#W:#{pane_current_path}" > ~/tmux-sessions.txt# 恢复
    while IFS=: read -r session window dir; dotmux new-window -d -t "$session" -n "$window" -c "$dir"
    done < ~/tmux-sessions.txt
    
  3. 批量执行命令

    tmux list-panes -s -F '#{pane_id}' | xargs -I {} tmux send-keys -t {} 'command' C-m
    

四、常见问题解决

  1. 鼠标滚动问题
    .tmux.conf 中添加:

    set -g terminal-overrides 'xterm*:smcup@:rmcup@'
    
  2. 颜色显示异常
    确保终端支持256色:

    set -g default-terminal "screen-256color"
    
  3. SSH断开后会话丢失
    使用 tmuxscreen 保持会话:

    ssh user@host -t 'tmux attach || tmux new'
    

Tmux 的学习曲线可能有点陡峭,但一旦掌握,它能极大提高终端工作效率。建议从基本会话管理开始,逐步尝试窗格分割和自定义配置。

http://www.xdnf.cn/news/2777.html

相关文章:

  • mtrace和memleak源码分析
  • 游戏盾与高防CDN的协同防御策略分析
  • element-ui carousel 组件源码分享
  • 深入剖析二叉树家族:二叉树、平衡二叉树、满二叉树与搜索二叉树
  • 系统架构-软件可靠性
  • 【前端】1h 搞定 TypeScript 教程_只说重点
  • RK3576遇到的坑
  • 基于RSSI原理的Wi-Fi定位程序,N个锚点(数量可自适应)、三维空间,轨迹使用CKF进行滤波,附完整的代码,可复制粘贴
  • 将有序数组转换为高度平衡二叉搜索树 | 详解与Java实现
  • 第11章 安全网络架构和组件(二)
  • 《Astro 3.0岛屿架构让内容网站“脱胎换骨”》
  • 基于 Spring Boot 瑞吉外卖系统开发(八)
  • 如何实现Redis和Mysql中数据双写一致性
  • Golang|工厂模式
  • nigx屏蔽无用爬虫
  • 【数据可视化-42】杂货库存数据集可视化分析
  • C 语言函数指针与指针函数详解
  • 轻舟系列FPGA加速卡:大模型分布式训练中的高效协同者
  • 因特网和万维网
  • 下载同时返回其他参数
  • 数据分析1
  • Python 3如何用pygetwindow包将指定窗口顶到最上层(激活窗口)
  • MuJoCo 仿真注意事项
  • Deepseek-v3+cline+vscode java自动化编程
  • C语言指针
  • 2015, JLink,下载安装步骤
  • AI技术落地实战指南:从核心突破到产业赋能
  • iPhone闹钟无法识别调休致用户迟到,苹果客服称会记录反馈
  • Boost 库安装 (windows 11)
  • 【LLM模型开发】WordPiece算法