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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据知道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值