当前位置: 首页 > 科技观察

在Linux下使用tmux创建更强大的终端

时间:2023-03-19 16:37:50 科技观察

一些Fedora用户大部分或全部时间都花在命令行终端上。终端使您可以访问整个系统以及数以千计的强大实用程序。但是,默认情况下它一次只显示一个命令行会话。即使终端窗口很大,整个窗口也只会显示一个会话。这是一种空间浪费,尤其是在大型显示器和高分辨率笔记本电脑屏幕上。但是,如果您可以将终端分成多个会话呢?这就是tmux派上用场,或者说必不可少的地方。安装并启动tmuxtmux应用程序的名称来自终端(terminal)多路复用器(muxer)或多路复用器(multiplexer)。换句话说,它可以将您的单个终端会话拆分为多个会话。它管理窗口和窗格:一个窗口是一个单独的视图——也就是说,终端中显示的各种东西。窗格是视图的一部分,通常是终端会话。在开始之前,请在您的系统上安装tmux应用程序。您需要为您的用户帐户设置sudo权限(如果需要,请参阅本文以获取说明)。sudodnf-yinstalltmux运行tmux程序:tmuxstatusbar起初,似乎什么都没有发生,除了终端底部出现的状态栏:Startoftmuxsession底部栏显示:[0]-这是第一个创建的tmux服务器会话。编号从0开始。tmux服务器会跟踪所有会话以查看它们是否存活。0:testuser@scarlett:~–有关会话第一个窗口的信息。编号从0开始。这表示窗口活动窗格中的终端由主机名为scarlett的用户testuser所有。当前目录是~(主目录)。*–显示您当前位于此窗口中。“scarlett.internal.fri”-您正在使用的tmux服务器的主机名。此外,还会显示该特定主机上的日期和时间。当您向会话中添加更多窗口和窗格时,信息栏将发生变化。tmux基础知识将您的终端窗口拉伸到***。现在让我们尝试一些简单的命令来创建更多窗格。默认情况下,所有命令都以Ctrl+b开头。按Ctrl+b,"水平拆分当前的单个窗格。窗口中现在有两个命令行窗格,一个在顶部,一个在底部。请注意,底部的新窗格是活动窗格。按Ctrl+b,%Splitthecurrentsinglepanevertically.现在您的窗口中有三个命令行窗格,右下方的窗格是活动窗格。具有三个窗格的tmux窗口请注意当前窗格周围突出显示的边框。要浏览所有窗格,请执行以下操作:按Ctrl+b,然后按箭头键并按Ctrl+b、q,数字将短暂出现在窗格中。在此期间,您可以单击相应的数字。现在,尝试使用不同的窗格运行不同的命令。例如,像这样:在顶部窗格中使用ls命令来显示目录内容。在左下方窗格中使用vi命令来编辑文本文件。在右边的下方窗格中运行top命令监视系统进程的窗格。屏幕将如下所示:tmux会话三个窗格运行不同的命令到目前为止,这个例子只使用了一个有多个窗格的窗口。您还可以使用Multiplewindowsrunningin.要创建一个新窗口,请按Ctrl+b,c。请注意,状态栏显示当前有两个窗口正在运行。(精明的读者会看到上面的屏幕截图。)要转到上一个窗口,请按Ctrl+b,p。要移动到下一个窗口,请按Ctrl+b、n。要立即移动到特定窗口,请按Ctrl+b,然后按窗口编号。如果您想知道如何关闭窗格,只需使用exit、logout或Ctrl+d退出特定的命令行shell。关闭窗口中的所有窗格后,窗口将消失。分离和附加tmux****其中一个功能是能够分离和重新附加到会话。分离时,您可以让窗口和窗格独立运行。此外,您甚至可以完全退出系统。然后您可以登录到同一个系统,重新连接到tmux会话并查看您离开的所有窗口和窗格。分离时运行的命令保持运行。要从会话中分离,请按Ctrl+b、d。然后会话消失,你又回到了标准的单一shell中。如果您想重新连接到会话,请使用以下命令:tmuxattach-session当您连接到网络不稳定的主机时,此功能就像救命稻草。如果连接失败,会话中的所有进程将继续运行。一旦连接恢复,您就可以恢复正常,就好像什么都没发生过一样。如果这些功能还不够,您可以在每个会话的顶级窗口和窗格中运行多个会话。您可以列出这些窗口和窗格,然后按编号或名称将它们附加到正确的会话:tmuxlist-sessions进一步阅读本文仅触及tmux功能的皮毛。您可以通过其他方式操作会话:将一个窗格与另一个交换将窗格移动到另一个窗口(在同一会话或不同会话中)设置快捷方式以自动执行您喜欢的操作在~/.tmux.conf中配置您喜欢的配置项文件,以便每个会话都以您喜欢的方式呈现。有关所有命令的完整说明,请查看以下参考资料:官方手册页tmux电子书