Fedora用户中有一些人几乎将大部分甚至所有的时间都花在命令行终端上,因为终端可以让他们访问整个系统以及众多强大的实用程序。然而,默认情况下,终端一次只显示一个命令行会话,即使在一个大型终端窗口中,整个窗口也只显示一个会话,这种设计在大尺寸和高分辨率的显示器上会造成空间浪费。但是,如果能够将终端分成多个会话岂不是更好?这就是tmux发挥作用的地方,可以说它是不可或缺的。
tmux是一款非常方便的工具,它可以将终端分割成多个会话。这意味着在同一个终端窗口中,您可以同时运行多个命令行会话,以提高工作效率。每个会话都可以独立运行,拥有自己的命令行提示符和环境。
通过将终端分割为多个会话,tmux能够更好地利用大屏幕和高分辨率笔记本电脑屏幕的空间,使得多任务处理变得更加轻松和高效。无论您是开发者、系统管理员还是日常使用者,tmux都是一个非常实用的工具,可以极大地提升您在命令行终端上的工作体验。
安装并启动 tmux
tmux 应用程序的名称来源于终端(terminal)复用器(muxer)或多路复用器(multiplexer)。换句话说,它可以将您的单终端会话分成多个会话。 它管理窗口和窗格:
-
窗口(window)是一个单一的视图 – 也就是终端中显示的各种东西。 -
窗格(pane)是该视图的一部分,通常是一个终端会话。
开始前,请在系统上安装 tmux 应用程序,你需要为您的用户帐户设置 sudo 权限或使用root账户。
sudo dnf -y install tmux 【Fedora 22】
sudo yum -y install tmux 【Centos或RHEL】
sudo apt-get -y install tmux 【ubuntu】
运行 tmux程序:
tmux
状态栏
首先,似乎什么也没有发生,除了出现在终端的底部的状态栏:
底部栏显示:
-
[0] – 这是 tmux 服务器创建的第一个会话。编号从 0 开始。tmux 服务器会跟踪所有的会话确认其是否存活。 -
0:testuser@scarlett:~ – 有关该会话的第一个窗口的信息。编号从 0 开始。这表示窗口的活动窗格中的终端归主机名 scarlett 中 testuser 用户所有。当前目录是 ~ (家目录)。 -
* – 显示你目前在此窗口中。 -
“scarlett.internal.fri” – 你正在使用的 tmux 服务器的主机名。 -
此外,还会显示该特定主机上的日期和时间。
当你向会话中添加更多窗口和窗格时,信息栏将随之改变。
tmux 基础知识
把你的终端窗口拉伸到最大。现在让我们尝试一些简单的命令来创建更多的窗格。默认情况下,所有的命令都以 Ctrl+b 开头。
-
敲 Ctrl+b, ” 水平分割当前单个窗格。 现在窗口中有两个命令行窗格,一个在顶部,一个在底部。请注意,底部的新窗格是活动窗格。 -
敲 Ctrl+b, % 垂直分割当前单个窗格。 现在你的窗口中有三个命令行窗格,右下角的窗格是活动窗格。
注意当前窗格周围高亮显示的边框。要浏览所有的窗格,请做以下操作:
-
敲 Ctrl+b,然后点箭头键 -
敲 Ctrl+b, q,数字会短暂的出现在窗格上。在这期间,你可以你想要浏览的窗格上对应的数字。
现在,尝试使用不同的窗格运行不同的命令。例如以下这样的:
-
在顶部窗格中使用 ls 命令显示目录内容。 -
在左下角的窗格中使用 vi 命令,编辑一个文本文件。 -
在右下角的窗格中运行 top 命令监控系统进程。
屏幕将会如下显示:
到目前为止,这个示例中只是用了一个带多个窗格的窗口,你也可以在会话中运行多个窗口。
-
为了创建一个新的窗口,请敲Ctrl+b, c 。请注意,状态栏显示当前有两个窗口正在运行。(敏锐的读者会看到上面的截图。) -
要移动到上一个窗口,请敲 Ctrl+b, p 。 -
要移动到下一个窗口,请敲 Ctrl+b, n 。 -
要立即移动到特定的窗口,请敲 Ctrl+b 然后跟上窗口编号。
如果你想知道如何关闭窗格,只需要使用 exit 、logout,或者 Ctrl+d 来退出特定的命令行 shell,一旦你关闭了窗口中的所有窗格,那么该窗口也会消失。
脱离和附加
tmux 最强大的功能之一是能够脱离和重新附加到会话。 当你脱离的时候,你可以离开你的窗口和窗格独立运行。 此外,您甚至可以完全注销系统。 然后,您可以登录到同一个系统,重新附加到 tmux 会话,查看您离开时的所有窗口和窗格。 脱离的时候你运行的命令一直保持运行状态。
为了脱离一个会话,请敲 Ctrl+b, d。然后会话消失,你重新返回到一个标准的单一 shell。如果要重新附加到会话中,使用一下命令:
tmux attach-session
当你连接到主机的网络不稳定时,这个功能就像救生员一样有用。如果连接失败,会话中的所有的进程都会继续运行。只要连接恢复了,你就可以恢复正常,就好像什么事情也没有发生一样。
如果这些功能还不够,在每个会话的顶层窗口和窗格中,你可以运行多个会话。你可以列举出这些窗口和窗格,然后通过编号或者名称把他们附加到正确的会话中:
tmux list-sessions
延伸阅读
本文只触及的 tmux 的表面功能。你可以通过其他方式操作会话:
-
将一个窗格和另一个窗格交换 -
将窗格移动到另一个窗口中(可以在同一个会话中也可以在不同的会话中) -
设定快捷键自动执行你喜欢的命令 -
在 ~/.tmux.conf 文件中配置你最喜欢的配置项,这样每一个会话都会按照你喜欢的方式呈现
有关所有命令的完整说明,请查看以下参考:
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !