LINUX-tmux
介绍
tmux
是一个终端复用器(Terminal Multiplexer),允许用户在一个终端窗口中管理多个终端会话。它的核心功能是将终端会话与窗口解绑,即使关闭终端窗口,会话仍然可以继续运行,用户可以在需要时重新连接到会话。
tmux
和 screen
都是终端复用器,功能相似,但 tmux
更易用且功能更强大,以下是两者的对比:
- 易用性:
tmux
的配置和使用更加直观,支持更丰富的快捷键和窗口管理功能。 - 功能:
tmux
支持更灵活的窗口拆分(水平和垂直)、会话同步、复制模式等。 - 兼容性:
screen
更早出现,可能在某些老旧系统上更兼容,但tmux
已经成为现代开发环境中的主流选择。
安装方式
1 | # Ubuntu or Debian |
基本概念
session,会话(任务)
windows,窗口
pane,窗格
简单来说:一个会话可以有n个窗口,一个窗口可以分为n个窗格。
基本功能
列出所有命令:tmux list-commands
。
列出所有快捷键:tmux list-keys
。
- 会话管理
- 创建会话:
tmux new -s <session_name>
创建一个名为session_name
的会话。 - 列出会话:
tmux ls
列出所有活跃的会话。tmux info
列出所有tmux
的会话信息。 - 连接会话:
tmux attach -t <session_name>
连接到指定会话。 - 切换会话:
tmux switch -t <session-name>
切换到指定会话。 - 分离会话:在会话中按
Ctrl+b d
,也可以通过命令tmux detach
分离当前会话。 - 杀死会话:
tmux kill-session -t <session_name>
杀死指定会话,在程序中使用kill-session
关闭整个会话。
- 创建会话:
- 窗口管理
- 创建窗口:在会话中按
Ctrl+b c
,也可以通过命令tmux new-window -n <window-name>
创建新窗口。 - 切换窗口:
Ctrl+b n
切换到下一个窗口,Ctrl+b p
切换到上一个窗口。 - 重命名窗口:
Ctrl+b ,
也可以通过命令 tmux rename-window -t,重命名当前窗口。 - 关闭窗口:
Ctrl+b &
也可以通过命令kill-window
关闭当前窗口。 - 从列表中选择窗口:
ctrl+b w
- 创建窗口:在会话中按
- 窗格管理
- 创建窗格:
Ctrl+b %
垂直分割窗格,Ctrl+b "
水平分割窗格。 - 切换窗格:
Ctrl+b o
循环切换窗格。 - 同步窗格:在多个窗格中同步输入,适合同时运行相同命令。
- 关闭窗格:
tmux kill-pane
杀死当前活动窗格;tmux kill-pane -t 窗格编号
杀死指定窗格。tmux killp -a
关闭除了当前激活窗格外的所有窗格。
- 创建窗格:
- 复制模式
- 进入复制模式:
Ctrl+b [
,可以使用方向键浏览和复制内容。 - 退出复制模式:按
q
退出。
- 进入复制模式:
- 配置与自定义
tmux
支持通过配置文件(通常是~/.tmux.conf
)进行高度自定义。- 重新加载配置:
tmux source-file ~/.tmux.conf