Tmux入门

时间:2020-03-05 15:26:52  来源:igfitidea点击:

本教程将介绍Tmux的安装和基本用法,以使我们入门和运行。

什么是tmux?

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会话中分离

我们可以通过以下命令从Tmux会话中分离出来并返回到正常的shell:

'Ctrl + b''d'

从会话中分离后,在Tmux会话中运行的程序将继续运行。

重新连接到Tmux会话

要首先添加到会话,我们需要找到会话的名称。
要获取当前正在运行的会话的列表,请输入:

tmux ls

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

0: 1 windows (created Sat Sep 15 09:38:43 2016) [158x35]
my_named_session: 1 windows (created Sat Sep 15 10:13:11 2016) [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”配置:

~/.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的最基本步骤:

  • 在命令提示符下,输入“ tmux new -s my_session”,
  • 运行所需的程序。
  • 使用键序列“ Ctrl-b” +“ d”从会话中分离。
  • 通过输入'tmux attach-session -t my_session'重新连接到Tmux会话。