阿拉平平
读完需要
分钟
速读仅需 3 分钟
1. 源码安装
yum install -y tmux
在安装前,需要安装依赖包:
# 删除老包
yum remove libevent libevent-devel libevent-headers
# 安装 ncurses
yum install ncurses-devel
# 下载并安装 libevent
cd /opt
wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
tar -zxf libevent-2.1.12-stable.tar.gz
cd libevent-2.1.12-stable
./configure
make && make install
ln -s /usr/local/lib/libevent-2.1.so.7 /usr/lib64/libevent-2.1.so.7
ln -s /usr/local/lib/libevent_core-2.1.so.7 /usr/lib64/libevent_core-2.1.so.7
依赖包安装好后,再安装 tmux:
cd /opt
wget https://github.com/tmux/tmux/releases/download/3.2a/tmux-3.2a.tar.gz
tar -zxf tmux-3.2a.tar.gz
cd tmux-3.2a
./configure
make && make install
安装好后,检查下 tmux 的版本:
tmux -V
tmux 3.2a
2. 使用说明
2.1 会话
什么是会话呢?要回答这个问题,先想想我们平时是怎样使用命令行的。我们打开一个终端窗口,然后输入命令和计算机交互。交互完成后,关闭窗口。
不太理解?没关系,我们从新建一个会话开始:
tmux new -s <session-name>
这里我创建了一个名为 test 的会话,底部的信息提示我们已在该会话窗口中:

在这个会话窗口中,我们可以执行耗时的任务,然后输入以下命令分离当前的窗口和会话:
tmux detach
命令执行后,会话窗口被关闭,我们回到了最初的窗口:

可以使用 tmux ls 命令查看所有会话:

可以看到,虽然窗口被关闭了,但会话还在。如果需要重新进入之前的会话,可以使用 tmux attch 命令,具体用法如下:
tmux attach -t <session-name>
当然,如果会话中的任务执行完成,我们也可以关闭该会话。在会话窗口外,输入命令 tmux kill-session -t <session-name> 即可。
2.2 前缀键
除了执行耗时的任务,我们也可以在会话中运行服务。如果以前台方式运行服务,会话窗口的输入会被占用,此时无法通过命令来分离窗口和会话。
举个例子,分离的快捷键是 Ctrl+b d。具体的用法是,在会话窗口中先按下 Ctrl+b,松开后再按 d:

更多的快捷键可以通过 Ctrl+b ? 来查询。
2.3 窗口
默认情况下,tmux 新建的会话只会创建一个窗口,然而我们总会遇到一个窗口不够用的情况。tmux 允许在同一个会话中创建多个窗口。
新的窗口可以通过 tmux new-window 或者 Ctrl+b c 来创建:

Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息。
Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。
Ctrl+b n:切换到下一个窗口。
Ctrl+b
:切换到指定编号的窗口,其中的 是状态栏上的窗口编号。 Ctrl+b w:从列表中选择窗口。
Ctrl+b ,:窗口重命名。
2.4 窗格
除了窗口,tmux 还有窗格的概念。一个窗口可以拆分成多个窗格,不同的命令可以在不同的窗格中执行。
在一个窗口中,可以通过 tmux split-window 或者快捷键进行拆分:

Ctrl+b %:划分左右两个窗格。
Ctrl+b “:划分上下两个窗格。
Ctrl+b
:光标切换到其他窗格。 是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键 ↓。 Ctrl+b ;:光标切换到上一个窗格。
Ctrl+b o:光标切换到下一个窗格。
Ctrl+b {:当前窗格与上一个窗格交换位置。
Ctrl+b }:当前窗格与下一个窗格交换位置。
Ctrl+b Ctrl+o:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。
Ctrl+b Alt+o:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。
Ctrl+b x:关闭当前窗格。
Ctrl+b !:将当前窗格拆分为一个独立窗口。
Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。
Ctrl+b Ctrl+
:按箭头方向调整窗格大小。 Ctrl+b q:显示窗格编号。
2.5 配置
以上就是 tmux 的基本用法了。不过在使用的过程中,我忍不住要吐槽一下。
会话窗口的底部信息是很重要的提示,但是显示起来既不美观也不直观。
快捷键是高频使用的功能,前缀键绑定 Ctrl+b 导致操作非常不便。
这个配置美化了底部信息的显示效果,并新增了前缀键 Ctrl+a:

3. 写在最后
在理解了核心概念后,tmux 上手其实并不困难,不过一些常用的命令和快捷键确实需要花点时间熟悉下。此外,tmux 虽然很强大,但我发现有些命令在会话窗口中是无法使用的,比如:lrzsz。
文中部分内容参考参考了网上的一些文档,有兴趣的同学可以看下阮一峰老师的 Tmux 使用教程[3],写得清晰易懂。
References
Tmux: https://github.com/tmux/tmux
配置文件: https://github.com/gpakosz/.tmux
Tmux使用教程: http://www.ruanyifeng.com/blog/2019/10/tmux.html原文始发于微信公众号(阿拉平平):tmux 使用指南:一款实用的终端复用器
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/287524.html