tmux是终端多路复用器的首字母缩写,它允许用户在单个窗口中创建或启用多个终端(垂直或水平),同时你可以轻松处理不同的问题在单个窗口中访问和控制。它使用客户端-服务器模型,允许在用户之间共享会话,也可以将终端连接到tmux会话。我们可以根据需要轻松移动或重新排列虚拟控制台。终端会话可以从一个虚拟控制台自由切换到另一个。tmux依赖于libevent和ncurses库。tmux在屏幕底部提供了一个状态行,显示有关当前tmux会话的信息,例如当前窗口编号、窗口名称、用户名、主机名以及当前时间和日期。当tmux启动时,它会在单独的窗口中创建一个新会话并将其显示在屏幕上。它允许用户在同一会话中创建任意数量的窗口。很多人说它类似于screen,但我不这么认为,因为它提供了很多配置选项。注意:Ctrl+b是tmux中的默认命令前缀,因此,要在tmux中执行任何操作,您必须输入该前缀,然后输入所需的选项。tmux功能创建任意数量的窗口在单个窗口中创建任意数量的窗格它允许垂直和水平拆分分离和重新连接窗口客户端-服务器架构,允许在用户之间共享会话tmux提供了许多配置技巧如何安装tmux命令大多数Linux系统默认预装了tmux命令。如果没有,请按照以下步骤进行安装。Debian/Ubuntu使用APT-GET命令或APT命令安装:$sudoaptinstalltmuxRHEL/CentOS使用YUM命令安装:$sudoyuminstalltmuxFedora使用DNF命令安装:$sudodnfinstalltmux对于ArchLinux,使用Pacman命令安装:$sudopacman-Stmux对于openSUSE,使用Zypper命令安装:$sudozypperintmux如何使用tmux在终端上运行以下命令以启动tmux会话。启动tmux后,它将在新窗口中创建一个新会话,并使用您的用户帐户自动将您登录到默认shell。$tmux你会得到类似于我们上面截图的东西。tmux自带一个状态栏,显示当前会话的详细信息,日期,时间等。状态栏中的信息如下:[0]:表示tmux服务器创建的会话号。默认从0开始。0:bash:表示会话号和命令行提示符(这里的bash表示shell名称)。*:这表示窗口现在处于活动状态。主机名:显示服务器的完整主机名。日期和时间:显示当前日期和时间。(LCTT译注:tmux的状态可以根据需要定制,也会根据环境和版本的不同而不同。)如何分割窗口tmux允许用户垂直或水平分割窗口,称为窗格。每个窗格都包含自己独立运行的终端实例。让我们看看如何做到这一点。按Ctrl+b、%垂直拆分窗格。按Ctrl+b,"水平分割窗格。如何在窗格之间移动假设我们创建了一些窗格,想在它们之间移动。怎么办?如果你不知道怎么做,使用tmux是没有意义的。使用以下控制键执行操作。有多种方法可以在窗格之间移动。Ctrl+b,←-选择左窗格按Ctrl+b,→-选择右窗格按Ctrl+b,↑-选择上窗格并按Ctrl+b,↓-选择下窗格并按Ctrl+b,{-向左交换窗格按Ctrl+b,}-向右交换窗格按Ctrl+b,o-切换到下一个窗格(左向右,从上到下)Ctrl+b,;-移至先前活动的窗格出于测试目的,我们将在窗格之间移动。现在我们在窗格2中,它显示lsb_release-a命令的输出。我们将移至窗格0,它显示了uname-a命令的输出。如何打开/创建新窗口您可以在一个终端内打开任意数量的窗口。按Ctrl+b、c创建一个新窗口。按Ctrl+b,n移动到下一个窗口。按Ctrl+b、p移动到上一个窗口。按Ctrl+b、0~Ctrl+b、9立即移动到特定窗口窗口:按Ctrl+b、l移动到之前选择的窗口。我有两个窗口,第一个窗口有三个窗格,其中包含操作系统版本信息、顶级命令输出和内核信息。第二个窗口有两个窗格,其中包含Linux发行版徽标信息。使用以下命令进行操作:按Ctrl+b、w交互选择当前窗口。如何缩放窗格您正在一些非常小的窗格中工作,并且您想将它们缩小以进行进一步的工作。为此,请使用以下键绑定。目前我们有三个窗格,我正在使用top命令显示系统活动信息的pane1,我将缩放它。缩放窗格时,它会隐藏所有其他窗格并仅在窗口中显示缩放的窗格。按Ctrl+b、z可缩放窗格,再次按下可将缩放后的窗格恢复为原始形状。显示窗格信息要了解窗格编号及其大小,请运行以下命令。按Ctrl+b、q仅显示窗格索引。显示窗口信息要了解窗口编号、布局大小、与窗口关联的窗格数及其大小等,请运行以下命令。只需运行tmuxlist-windows即可查看窗口信息。如何调整窗格大小您可能需要调整窗格大小以满足您的需要。您必须按Ctrl+b,:并在页面底部的黄色栏中输入以下详细信息。在上一节中,我们打印了窗格索引,它还显示了窗格大小。为了测试,我们将向.参考以下输出,窗格将窗格1和窗格2的大小从55x21增加到55x31。语法:Ctrl+b,:thenenterresize-pane[options][cellssize]Ctrl+b,:thenenterresize-pane-D10将当前窗格的大小向下调整10个单元格。Ctrl+b,:然后输入resize-pane-U10将当前窗格大小向上调整10个单位。Ctrl+b,:然后输入resize-pane-L10将当前pane的大小向左调整10个单位。Ctrl+b,:然后输入resize-pane-R10将当前pane的大小向右调整10个单位。分离和重新附加tmux会话tmux的强大功能之一是能够在需要时分离和重新附加会话。运行一个长时间运行的进程,然后按Ctrl+b,然后按d,通过退出正在运行的进程来安全地分离您的tmux会话。推荐阅读:如何在断开SSH会话后保持进程/命令运行现在,让我们运行一个长时间运行的进程。出于演示目的,我们会将此服务器备份移动到另一台远程服务器以进行灾难恢复(DR)。$rsync-avzhessh/backuproot@192.168.0.161:/backups/week-1/分离tmux会话后,您将获得如下输出。[分离(从会话0)]运行以下命令以列出可用的tmux会话。$tmuxls0:3windows(createdTueJan3006:17:472018)[109x45]现在,使用适当的会话ID重新附加tmux会话,如下所示:$tmuxattach-t0Howtoclosepanesandwindowsonly你需要在相应的窗格中键入exit或按Ctrl-d将其关闭,类似于终端关闭。要关闭窗口,请按Ctrl+b、&。好了,暂时就这些,希望你喜欢。
