一、什么是tmux?
tmux
是一款开源的终端复用器,允许用户在一个终端窗口中访问多个终端会话,同时提供了会话管理功能,使得用户可以在同一个窗口中创建、访问和控制多个会话。它对于需要同时运行多个命令行程序的用户来说非常有用,尤其是对于远程工作的开发者而言,因为它能够在网络断开连接后继续保持会话运行。
1.1 主要特性
- 会话管理:
tmux
支持用户断开连接后保持会话运行,之后可以重新连接会话,继续之前的工作,这对于远程工作的用户来说非常有用。 - 窗口和面板:用户可以在一个
tmux
会话中创建多个窗口,并且每个窗口可以被进一步划分为多个面板(Pane),每个面板都是一个独立的终端。 - 可定制和脚本化:
tmux
允许用户通过配置文件~/.tmux.conf
来定制键绑定和设置,也支持通过脚本来自动化复杂的任务。 - 状态栏:
tmux
提供了一个状态栏,显示有关当前会话的信息,如当前窗口和面板,时间等,用户可以自定义状态栏的内容。
1.2 使用示例
- 启动新的tmux会话:在终端中输入
tmux
命令可以启动一个新的会话。 - 分离和附加会话:用户可以从当前会话中分离(默认快捷键是
Ctrl+b d
),并在之后通过命令tmux attach
或tmux attach-session
重新连接到会话。 - 创建窗口和面板:在
tmux
中,用户可以通过快捷键创建新的窗口(Ctrl+b c
)和面板(Ctrl+b %
创建垂直分割面板,Ctrl+b "
创建水平分割面板)。
1.3 获取和安装
tmux
可以在多数Linux发行版和macOS中通过包管理器安装。例如,在Ubuntu上,你可以使用以下命令安装:
sudo apt-get update sudo apt-get install tmux
在macOS上,可以使用Homebrew安装:
brew install tmux
通过学习和使用tmux
,用户可以显著提高终端工作的效率和便捷性。
二、在Linux系统中运行tmux
2.1 新建一个tmux
tmux
2.2 tmux常用命令
tmux
是一个很强大的终端复用工具,它有很多命令可以帮助你创建、管理和操控多个终端会话。以下是一些常用的 tmux
命令:
-
创建新会话:使用
tmux new -s mysession
创建一个新的tmux
会话并命名为 "mysession"。 -
列出所有会话:使用
tmux ls
命令查看当前所有的tmux
会话。 -
附加到会话:使用
tmux attach -t mysession
命令连接到名为 "mysession" 的会话。 -
切换会话:使用
tmux switch -t mysession
命令切换到名为 "mysession" 的会话。 -
杀死会话:使用
tmux kill-session -t mysession
命令结束名为 "mysession" 的会话。 -
分离会话:在
tmux
会话内按Ctrl-b d
组合键可以分离当前会话,这将返回到非tmux
环境,但是tmux
会话将继续在后台运行。 -
分割窗口:在
tmux
会话内,使用Ctrl-b %
可以垂直分割窗口,Ctrl-b "
可以水平分割窗口。 -
在窗口之间切换:在
tmux
会话内,使用Ctrl-b o
可以在窗格之间切换。 -
关闭窗口:在
tmux
会话内,使用Ctrl-b x
可以关闭当前窗口。 -
重新排列窗口:在
tmux
会话内,使用Ctrl-b
可以更改窗格的位置。 -
列出所有快捷键:在
tmux
会话内,使用Ctrl-b ?
可以显示所有可用的快捷键绑定。 -
调整窗格大小:在
tmux
会话内,使用Ctrl-b Ctrl-方向键
可以调整窗格的大小。 -
最大化/恢复窗格:在
tmux
会话内,使用Ctrl-b z
可以最大化当前窗格,再次按下可以恢复。 -
滚动回看历史:在
tmux
会话内,使用Ctrl-b [
可以进入复制模式,然后使用方向键或Page Up/Page Down
键进行滚动。按q
键退出复制模式。 -
复制文本:在复制模式下,使用
Space
键开始选择文本,使用Enter
键复制选中的文本。 -
粘贴文本:在
tmux
会话内,使用Ctrl-b ]
可以粘贴之前复制的文本。 -
创建新窗口:在
tmux
会话内,使用Ctrl-b c
可以创建一个新的窗口。 -
切换到下一个窗口:在
tmux
会话内,使用Ctrl-b n
可以切换到下一个窗口。 -
切换到上一个窗口:在
tmux
会话内,使用Ctrl-b p
可以切换到上一个窗口。 -
显示窗口列表:在
tmux
会话内,使用Ctrl-b w
可以显示当前会话的所有窗口列表,然后使用方向键选择并按Enter
键切换到选中的窗口。 -
显示时间:在
tmux
会话内,使用Ctrl-b t
可以显示一个大时钟。 -
重新加载配置文件:在
tmux
会话内,使用Ctrl-b :
进入命令模式,然后输入source-file ~/.tmux.conf
可以重新加载tmux
配置文件。