Tmux是终端多路复用器,是GNU Screen的替代品,你也可以启动Tmux会话,然后在该会话中打开多个窗口。每个窗口占据整个屏幕,可以分成多个窗格

使用Tmux,您可以轻松地在终端中的多个程序之间切换,分离它们并将它们重新连接到不同的终端

Tmux会话是持久的,这意味着即使断开连接,在Tmux中运行的程序也将继续运行

Tmux中的所有命令都有一个前缀开头,默认情况下是前缀ctrl+b

安装Tmux

您可以使用发行版的软件包管理器安装Tmux。

在Ubuntu和Debian上安装Tmux

sudo apt install tmux

在CentOS和Fedora上安装Tmux

sudo yum install tmux

在macOS上安装Tmux

brew install tmux

开始Tmux会话

要开始第一个Tmux会话,只需键入tmux您的控制台:

tmux

这将打开一个新会话,创建一个新窗口并在该窗口中启动一个shell。

进入Tmux后,您会在屏幕底部看到状态行,其中显示有关当前会话的信息。

您现在可以运行第一个Tmux命令。例如,要获取您要键入的所有命令的列表 Ctrl+b ?

创建命名的Tmux会话

默认情况下,Tmux会话以数字命名。运行多个tmux会话时,命名会话非常有用。要创建新的命名会话,在 tmux 中使用以下参数运行命令

tmux new -s session_name

从Tmux会话中分离

您可以通过键入 Ctrl+b d命令从Tmux会话中分离并返回到正常的shell,从会话中分离后,在Tmux会话中运行的程序将继续运行

重新连接到Tmux会话

要首先附加会话,您需要找到会话的名称。要获取当前正在运行的会话类型列表:

tmux ls

会话的名称是输出的第一列。

0: 1 windows (created Sat Sep 15 09:38:43 2018) [158x35]
my_named_session: 1 windows (created Sat Sep 15 10:13:11 2018) [78x35]

从输出中可以看出,有两个正在运行的Tmux会话,第一个是命名会话,0第二个是my_named_session

例如,要附加到会话,0您可以键入:

tmux attach-session -t 0

使用Tmux Windows

默认情况下,当您启动一个新的tmux会话时,它会创建一个带有shell的单个窗口。要创建具有shell类型的新窗口Ctrl+b c,使用0...9分配该范围中的可用的编号

所有窗口的列表显示在屏幕底部的状态行中

以下是一些用于管理Tmux窗口和窗格的最常用命令:

  • Ctrl+b c 创建一个新窗口(带shell)
  • Ctrl+b w 从列表中选择窗口
  • Ctrl+b 0 切换到窗口0(按编号)
  • Ctrl+b , 重命名当前窗口
  • Ctrl+b % 将当前窗格水平分割为两个窗格
  • Ctrl+b " 将当前窗格垂直拆分为两个窗格
  • Ctrl+b o 转到下一个窗格
  • Ctrl+b ; 在当前窗格和上一窗格之间切换
  • Ctrl+b x 关闭当前窗格
  • 更多快捷键

自定义Tmux

启动Tmux时,它会从~/.tmux.conf文件是否存在时读取其配置参数。

以下是~/.tmux.conf具有自定义状态行和几个附加选项的示例配置

# Improve colors
set -g default-terminal 'screen-256color'

# Set scrollback buffer to 10000
set -g history-limit 10000

# Customize the status line
set -g status-fg  green
set -g status-bg  black

基本Tmux用法

以下是开始使用Tmux的最基本步骤

  1. 在命令提示符下,键入tmux new -s my_session
  2. 运行所需的程序
  3. 使用键序列Ctrl-b+ d从会话中分离
  4. 键入即可重新连接到Tmux会话tmux attach-session -t my_session

至此你已学会如何使用Tmux。现在,您可以在单个会话中开始创建多个Tmux窗口,通过创建新窗格来分割窗口,在窗口之间导航,分离和恢复会话以及使用.tmux.conf文件个性化您的Tmux实例