Tmux的安装与使用
Tmux基本概念
Tmux(Terminal Multiplexer)是一款终端复用工具,它可以在单个终端下同时运行多个会话。Tmux最初是为了解决在SSH连接或远程终端会话中,由于网络问题或客户端突然断开连接等原因,导致会话中的程序无法运行而诞生的。随着时间的推移,Tmux的功能越来越丰富,成为一款非常实用的终端工具。
以下是Tmux的主要特点:
1.多窗口:Tmux支持在一个终端窗口中分割多个窗口和面板,可以自定义每个窗口的大小和布局,同时也支持快捷键切换窗口。
2.独立会话:Tmux创建独立会话,每个会话都可以拥有多个窗口或面板,并且彼此之间互不干扰。
3.支持远程访问:通过Tmux,可以在一个终端会话中访问远程服务器上的程序,而无需打开多个终端窗口。
4.自动重连:当你的SSH会话意外断开时,Tmux可以帮你自动重新连接,从而避免断开会话导致的数据丢失问题。
Tmux的主要元素分为三层:
- 会话(session):Tmux的会话表示一组窗口和面板的集合,是Tmux最高层次的抽象。在Tmux中,你可以创建多个会话,每个会话都拥有自己的窗口和面板,你可以在会话之间自由切换。
- 窗口(window):在Tmux中,一个会话可以包含多个窗口,每个窗口是一个独立的终端。在一个终端内,如果你需要同时运行多个程序,或者在不同程序之间来回切换,那么可以通过创建多个窗口来实现。
- 面板(pane):在Tmux中,一个窗口可以被分成若干个面板,每个面板是一个独立的终端。在一个终端内,如果你需要同时运行多个程序,并且希望能够同时看到它们的执行结果,那么可以通过创建多个面板来实现。
下图展示了这三个核心概念之间的关系,图片引自咕咕:Tmux使用记录:
Tmux的安装
在 Linux 操作系统中,你可以使用系统自身的包管理工具来安装 Tmux。不同的系统中包管理工具的名称和命令略有不同:
在Ubuntu或Debin系统中,可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install tmux
在Fedora或CentOS系统中,可以使用以下命令进行安装:
sudo yum install tmux
在Arch或Manjaro系统中,可以使用以下命令进行安装:
sudo pacman -S tmux
在Mac OS X系统中,可以使用以下命令进行安装:
brew update
brew install tmux
Tmux常用命令
会话相关的命令
tmux new [-s session-name]
:创建一个新会话,其中 -s 可以指定会话的名称,如果没有指定会话名称,则会话名称为递增的编号。tmux attach [-t session-name]
:重新连接到已经存在的会话,其中 -t 参数指定会话名称。tmux detach
:分离当前会话。tmux switch [-t session-name]
:在多个会话之间切换,其中 -t 参数指定会话名称。tmux list-sessions
:列出所有会话,包括会话名称、会话 ID 和会话状态。tmux kill-session [-t session-name]
:关闭指定的会话,其中 -t 参数指定会话名称。tmux suspend-client
:暂停客户端连接到会话,需要在会话中使用 Ctrl-b 激活 Tmux 命令行界面,然后输入 :suspend-client。tmux list-clients
:列出与会话关联的所有客户端连接,并显示客户端 ID 和会话名称。
窗口相关的命令
tmux new-window [-n window-name]
:在当前会话中创建一个新窗口。其中 -n 可以指定新窗口的名称。tmux select-window -t window-name
:切换到指定名称的窗口,其中 -t 参数指定窗口名称或编号。tmux list-windows
:列出当前会话中所有窗口,包括窗口名称、窗口编号和窗口状态。tmux rename-window [-t window-name] new-name
:重命名指定名称的窗口,其中 -t 参数指定窗口名称或编号。tmux move-window [-s src-win] [-t dst-win]
:将一个窗口移动到另外一个窗口的前面或后面。其中 -s 和 -t 参数分别指定源窗口和目标窗口。tmux swap-window -s src-win -t dst-win
:交换两个窗口的位置,其中 -s 和 -t 参数分别指定要交换的两个窗口。tmux kill-window [-t window-name]
:关闭指定名称的窗口,其中 -t 参数指定窗口名称或编号。
面板相关的命令
tmux split-window [-h] [-v] [-p percentage]
:将当前面板水平或垂直分隔成两个新面板。其中 -h 和 -v 分别表示水平和垂直拆分面板,-p 参数可指定新面板的大小百分比。tmux select-pane -U/D/L/R
:在多个面板之间切换。其中 -U、-D、-L 和 -R 分别表示向上、向下、向左和向右切换面板。tmux swap-pane -[UDLR]
:交换当前和指定方向上的另一个面板。其中 -U、-D、-L 和 -R 分别表示与当前面板上下左右相邻的面板。tmux resize-pane -[UDLR] (N)
:调整当前面板的大小。其中 -U、-D、-L 和 -R 分别表示在上、下、左和右方向上调整面板大小,并在括号内指定调整的行数(对于 -U 和 -D 选项)或列数(对于 -L 和 -R 选项)。tmux kill-pane
:关闭当前面板。tmux select-pane -t pane:window.pane
:选择指定的面板。其中 pane 表示面板编号,window 表示窗口编号。
Tmux常用快捷键
Tmux 拥有丰富的快捷键,这些快捷键可以帮助你快速地进行各种操作,提高你的终端使用效率。下面是一些常用的 Tmux 快捷键:
Ctrl+b
:激活快捷键模式。在快捷键模式下,你可以输入其他的快捷键命令;Ctrl+b ?
:列出所有的快捷键命令;Ctrl+b c
:创建一个新的窗口;Ctrl+b %
:在当前窗口中水平拆分面板;Ctrl+b "
:在当前窗口中垂直拆分面板;Ctrl+b 方向键
:在当前窗口中移动焦点到指定的面板中;Ctrl+b z
:最大化当前面板,再次按下则取消最大化操作;Ctrl+b n
:在窗口列表中切换到下一个窗口;Ctrl+b p
:在窗口列表中切换到上一个窗口;Ctrl+b 数字键
:切换到指定编号的窗口;Ctrl+b x
:关闭当前面板或窗口;Ctrl+b d
:将当前会话分离,以便在后台继续使用,可以再次使用 tmux attach 命令重新连接到会话中;Ctrl+b :
:进入命令行模式,可以输入一些 Tmux 命令,如重命名窗口、重排面板等。
Comments | NOTHING