Linux 知:tmux

1. 前言

tmux 是一个终端多路复用器:它允许从单个屏幕创建、访问和控制多个终端。tmux 可能会从屏幕上分离并继续在后台运行,然后再重新连接。

官方仓库:https://github.com/tmux/tmux

2. 安装

2.1. deb包方式

如在ubuntu系统上,执行如下命令进行安装:

sudo apt-get install tmux

2.2. rpm包方式

如在fedora系统上,执行如下命令进行安装:

sudo yum install tmux

如在openSuse系统上,执行如下命令进行安装:

sudo zypper install tmux

2.3. 源码包方式

如果目标系统上未提供对应的软件包安装形式,可以借助源码进行安装:

1)从发布的tar包进行安装

./configure [--prefix=xxx/xxx]
make
make install

若不指定--prefix,则默认安装到/usr/local下
2)从版本控制系统进行安装

git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure [--prefix=xxx/xxx]
make
make install

备注:tmux依赖其它软件包,如果当前系统环境中没有安装这些依赖包,需要自行安装。具体依赖哪些包可以访问官方仓库查看。

3. 名词

  • session
    会话或任务,是一组窗口的集合, 通常用来概括同一个任务。session 可以有自己的名字便于任务之间的切换。
  • window
    单个可见窗口。windows 有自己的编号,也可以认为和 MobaXterm 中的 Tab 类似。
  • pane
    窗格,一个窗口可以被划分成很多小块,这些小块就是窗格,类似于 Vim 中 C-w +v 后的效果

下面是三个元素在 tmux 中的具体展现:
在这里插入图片描述

4. 前缀键

tmux 中的很多操作都是通过快捷键来实现的,通过快捷键我们可以更加高效的完成任务,这也是很多人喜欢 tmux 的一个主要原因。

如果想使用 tmux 中的快捷键,我们必须使用 tmux 的前缀按键 ctrl+b , 在 tmux中所有的快捷键都需要通过前缀按键去唤起的。

在 tmux 当中默认的前缀按键是 ctrl+b , 这个前缀按键不是很友好,ctrl 和 b 的距离真的是太长了,操作起来不是很舒心,当然这个前缀按键是可以通过 tmux 的配置文件 .tmux.conf 进行修改的,读者可以自行了解一下tmux的配置文件该如何去配置。

5. 使用

5.1. 使用 session

5.1.1. 新建 session

新建一个 session,在终端输入一个 tmux 命令即可:

tmux

上面的命令会创建一个 session ,默认是通过数字编号来命名的,有时候我们需要明确的知道我们的 session 的名字,方便我们快速进入该 session ,我们可以使用如下的命令:

tmux new -s  <session-name>

例如新建一个名称是 test 的session:tmux new -s test

5.1.2. 离开 session

有时候我们需要离开终端,操作其他的任务,需要离开该任务,但是又想该任务继续在后台执行,这时候我们需要在 tmux 的任何一个窗格中输入如下命令:

tmux detach

也可以使用快捷键 ctrl+b d,这里解释一下该快捷键, tmux 离开 session 的快捷键是 d,但是在 tmux 当中任何快捷键都需要搭配 tmux 的前缀按键 ctrl+b 来唤醒,所以该快捷键的操作是先按 ctrl+b,紧接着按下按键 d,这样我们便顺利的离开当前 session 了。

5.1.3. 列出 session

有时候我们可能同时操作了好几个 session, 我们可以通过如下的命令来查看我们目前操作了几个session:

tmux ls

也可以通过快捷键操作 ctrl+b s 列出所有的 session。

5.1.4. 进入 session

离开 session 之后,有时候我们还需要对某个 session 进行操作,这时候可以通过如下的操作:

tmux attach -t <session-name>

例如我的 session 名称是 test, 就可以通过 tmux attach -t test顺利进入 session, 也可以通过 tmux a -t test,该命令中的 a 是 attach 的简写形式。

5.1.5. 关闭 session

如果需要关闭 session, 可以通过执行如下的命令即可:

tmux kill-session -t <session-name>

例如关闭test 这个session : tmux kill-session -t test

也可以使用快捷键 ctrl+d 来关闭当前的 session。

5.1.6. 切换 session

执行下面命令,可以从当前的 session 快速切换到另一个 session:

tmux switch -t <session-name>

5.1.7. 重命名 session

tmux rename-session -t <old-session-name> <new-session-name>

例如: tmux rename-session -t hello world 该命令会把 hello 这个 session 重新命名为 world。

也可以通过快捷键 ctrl+b $ 来重命名当前的session 。

5.2. 使用 window

5.2.1. 新建 window

有时候一个窗口不够用,这样我们就需要重新创建一个窗口:

tmux new-window -n <window-name>

例如: tmux new-window -n test 就是重新创建一个名字是 test 的window

创建窗口的快捷键ctrl+b c, 可以通过快捷键快速的创建一个窗口出来。

5.2.2. 关闭 window

tmux kill-window -t <window-name>

例如: tmux kill-window -t test 删除名称为 test 的窗口。

关闭窗口的快捷键:

ctrl+b & 可以关闭当前的的窗口

5.2.3. 切换 window

tmux select-window -t <window-name>

在已经有多个窗口的条件下,可以通过上名的命令快速进入指定的窗口当中,例如:tmux select-window -t test 会快速跳到 test 这个窗口当中。

关于切换窗口的快捷键 :

ctrl+b w 显示窗口列表可以通过 j ,k 上下进行选择窗口,然后回车进入指定的窗口。

ctrl+b n 快速切换到下一个窗口。

ctrl+b p 快速切换到上一个窗口。

ctrl+b 0~9 选择 0 ~ 9 对应的窗口

5.2.4. 重命名 window

tmux rename-window <new-window-name>

例如:tmux rename-window test 把当前窗口名为 test

窗口命名快捷键:

ctrl+b , 该快捷键可以重新命名窗口

5.2.5. 分割 window

ctrl+b % 水平分割窗口
ctrl+b " 竖直分割窗口

5.3. 使用 pane

5.3.1. 切割窗格

切割窗格的命令是:

tmux split-window

该命令会把当前工作区域分成上下两个小窗格

tmux split-window -h

该命令会把当前工作区域分成左右两个窗格

切割窗格的快捷键 ctrl+b % 可以快速的左右切割,ctrl+b " 可以快速的上下进行切割。

5.3.2. 切换窗格光标

tmux select-pane -U

把当前光标移动到上方的窗格

tmux select-pane -D

把当前的光标移动的下方的窗格

tmux select-pane -L

把当前的光标移动到左边的窗格

tmux select-pane -R

把当前的光标移动到右边的窗格

移动窗格光标的快捷键:

ctrl+b <arrow key> 例如 ctrl+b ⬆ 会把光标移动到上方的窗格。

ctrl+b ; 光标切换到上一个窗格

ctrl+b o 光标切换到下一个窗格

5.3.3. 交换窗格位置

tmux swap-pane -U

当前窗格向上移动

tmux swap-pane -D

当前窗格向下移动

ctrl+b } 与下一个窗格交换位置
ctrl+b { 与上一个窗格交换位置

5.3.4. 关闭窗格

关闭窗格通常使用快捷键 ctrl+b x

5.3.5. 最大化窗格

快捷键 ctrl+b z 将会放大当前操作的窗格,继续触发该快捷键将会还原当前的窗格。

5.3.6. 显示窗格编号

ctrl+b q

5.3.7. 调整窗格大小

ctrl+b ctrl+方向键,以 1 个单元格为单位移动边缘以调整当前窗格大小
ctrl+b alt+方向键,以 5 个单元格为单位移动边缘以调整当前窗格大小

5.3.8. 旋转窗格

ctrl+b alt+o 逆时针旋转当前窗格
ctrl+b ctrl+o 顺时针旋转当前窗格

5.3.9. 滚动窗格

ctrl+b Page up 向上滚动屏幕,q 退出
ctrl+b Page down 向下滚动屏幕,q 退出
ctrl+b [ 进入 copy-paste 模式,这时可以滚动窗口来选择,q 退出

5.3.10. 窗格显示时间

快捷键 ctrl+b t 将会把在当前的窗格当中显示时钟,非常酷炫的一个功能,点击 enter (回车键将会复原)。

6. 配置

7. 后语

tmux最大的好处是可以保存状态,对于登录到服务器工作的人,可以节省大量时间,而且多窗口省去了开非常多窗口切换的时间。使用它可以极大提高工作效率。而且可定制化,相较于同类瓦片式窗口管理器,提供了更多的定制和快捷键,是同类软件中的佼佼者。

8. 参考

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值