linux 中 tmux 使用
linux
本文字数:769 字 | 阅读时长 ≈ 3 min

linux 中 tmux 使用

linux
本文字数:769 字 | 阅读时长 ≈ 3 min

tmux 是一个优秀的终端管理包,他可以创建多个 Session,每个 Session 内有多个 Window,而每个 Window 又可以分为多个 Pane,接下来我会介绍 tmux 的基本命令以及对 Session、Window 和 Pane 有一个更直观的理解

1. tmux 安装

MacOS 的安装只需要一个命令即可 brew install tmux

2. tmux 命令

这里演示平时经常用到的实际操作,首先 tmux 经常需要 ctrl+b 命令, 但是习惯 screen 命令的我选择将其更改为 ctrl+a(还有就是 b 离 ctrl 太远了。。。)

unbind C-b
set -g prefix C-a
bind C-a send-prefix
set -g history-limit 100000

其中前三行把 tmux 前缀从 Ctrl-b 改为 Ctrl-a,最后一行:每个 pane 最多保留 10 万行历史输出(默认2k),写入 ~/.tmux.conf 后执行:tmux source-file ~/.tmux.conf

2.1 创建和后台挂起

  1. 创建 session 并命名为 testtmux new -s test
  2. 后台挂起 session,并回到主 bashctrl+a d
  3. 回到某个已经创建的 session 中tmux attach -t <session_name>
  4. 查看所有 sessiontmux ls
  5. 删除某个 sessiontmux kill-session -t <session_name>

这里的 -s 表示 session name,用于在创建 Session 时指定名称;如果省略,tmux 会自动使用 01 等数字命名。-t 表示 target,用于指定要操作的已有 Session,因此连接或删除 Session 时会使用 tmux attach -t worktmux kill-session -t work。简单来说,创建时用 -s 命名,操作已有对象时用 -t 指定目标。

下面是开启一个 tmux session 的状态

2.2 Session 中的 Window 操作

tmux 有一个重要功能是在 session 中操作 window,操作 window 分为创建、切换以及删除

  1. 创建 windowtmux new-window
  2. 切换 windowctrl+a + 0~9 序号
  3. 关闭 windowctrl+a + &

下面展示了切换 window 的状态,从列表中可以看出有两个 session,session0 只有一个 window,session1 有 3 个 window

2.3 Window 中控制 Pane

知道如何控制 window 之后,我们在 window 中进行分屏,即 pane 操作。在分屏时分为水平分屏、垂直分屏、在不同 pane 之前切换、关闭当前 pane

  1. 水平分屏tmux split-window -h ctrl+a %
  2. 垂直分屏tmux split-window -v ctrl+a '
  3. 切换 panectrl+a + 上下左右键
  4. 关闭 panectrl+a + x

下面展示了水平分屏后的状态

3. 图示参数名

下面截图展示了 Session、Window 和 Pane 之间的关系,以及窗口一些标签的含义

4. 命令

创建 session

  1. 创建一个 session, 默认名字为 0、1、2tmux
  2. 创建指定 session 的名字tmux new -s test
  3. 后台挂起 session,并回到主 bashtmux detach
  4. 回到某个已经创建的 session 中tmux attach -t <session_name>
  5. 查看所有 sessiontmux ls
  6. 删除某个 sessiontmux kill-session -t <session_name>
  7. 关闭某个 session,这个与删除相同,当你进入某个 session、window、pane 中时,运行 exit 就可以自动关闭了exit

分屏操作

  1. 水平分屏ctrl+b + %
  2. 垂直分屏ctrl+b + "
  3. 切换 panectrl+b + 上下左右键
  4. 关闭 panectrl+b + x
May 06, 2025
Dec 31, 2024
Nov 17, 2024