Linux教程网

用tmux提升你的命令行体验

今天介绍一款 Linux 工具,它的名字叫 tmux,可以帮助我们有效地管理终端端口和命令会话。到底它有什么作用呢,大家一定遇到这样的情况

  • 当我们在 Linux 命令行下执行长时间的任务时,如果遇到断网的情况,任务可能会终止无法继续运行,需要重新连接从头执行;
  • 当我们需要同时编辑一个文件和执行操作命令时,正常情况下需要开启两个窗口;

如果你在使用 tmux 工具,那么以上的问题就可以完美地解决。

安装工具

(一) 编译安装

1
2
3
4
5
6
$ git clone https://github.com/tmux/tmux.git
$ cd tmux
$ sh autogen.sh

# 编译安装
$ ./configure && make

(二) 直接安装

1
2
3
4
5
6
7
8
# Ubuntu 或 Debian
$ sudo apt-get install tmux

# CentOS 或 RedHat
$ sudo yum install tmux

# Mac
$ brew install tmux

基本使用

tmux 使用过程中,为了让操作更加高效,我们优先推荐使用快捷键的方式,而不是通过 tmux 子命令来操作。

tmux 提供了大量的快捷键,所有快捷键的使用都需要通过 前缀键 唤起,默认 前缀键Ctrl+b,也就是需要先按 Ctrl+b ,快捷键才会生效。

1. 启动与停止

使用 tmux 其实很简单,启动时只需要在命令行中输入 tmux 即可

1
2
3
4
5
# 直接tmux命令,即可进入tmux会话
$ tmux

# 退出tmux会话
$ exit 或 Ctrl + D

2. 窗口左右分屏

在 Linux 终端操作时,经常需要将窗口分成多个,来同时执行多个不同的任务。

1
Ctrl + B, %

先按下 Ctrl + B, 然后再按下 % 键即可。

3. 窗口上下分屏

上下分屏,只需要将 % 换成 " 即可

1
2
# 注意这里是英文的引号
Ctrl + B, "

先按下 Ctrl + B,然后再按下 " 键即可

4. 光标位置移动

默认情况下,光标的位置的移动通过鼠标是操作不了的,比如希望将光标移动到左侧的窗口上,需要使用如下方式

1
Ctrl + B, ←(这是左方向的箭头)

先按下 Ctrl + B,然后再按下 左方向键。同理按 键可以将光标移动到对应方向的窗口上。

5. 全屏显示窗口

当我们划分了多个窗口后,在当前只需要操作其中某个窗口,或窗口小导致内容显示不全,可以临时将其中某个窗口全屏放大。

1
Ctrl + B, z

先按下 Ctrl + B,再按下 z 。如果需要恢复多窗口模式,则只需再次 Ctrl + B, z 即可

6. 调整窗口大小

调整窗口大小,是很常见的操作,同样可以通过快捷键来进行操作。

1
2
3
4
5
# Windows系统下操作
Ctrl + B, Ctrl + 箭头

# MacOS系统下操作
Ctrl + B, Option + 箭头

先按下 Ctrl + B,再按下 Option + → 将窗口向右扩大。同理 键可以将窗口对应方向扩大窗口。

7. 关闭窗口

某些窗口不再使用时,可以通过快捷键关闭掉

1
Ctrl + B, x

先按下 Ctrl + B,再按下 x 就可以关闭当前窗口。通过按下 Ctrl + D 也可以直接关闭当前窗口。

会话管理

1. 新建会话

通过 tmux 直接创建的会话,编号是从 01 依次类推,不过通常情况下使用 编号 区分会话不太直观,更好的方式是为会话命名

1
$ tmux new -s foo

上述命令创建了一个名为 foo 的会话

2. 分离会话

当我们的终端命令操作要暂停,而又不希望关系该会话时,可以临时分离会话,释放终端,以便下次还可以继续使用该会话和窗口。

1
$ tmux detach

通过上述命令即可分离当前的会话,当然通过 Ctrl + B, d 快捷键同样可以分离会话。

通过 tmux ls 命令可以查看当前的 tmux 会话仍然存在。

3. 接入会话

会话分离后,可以通过 tmux attach 命令重新接入已存在的会话

1
2
3
4
5
# 使用会话编号
$ tmux attach -t 0

# 使用会话名称
$ tmux attach -t foo

4. 切换会话

通过 tmux switch 命令可以切换会话

1
2
$ tmux switch -t 0
$ tmux switch -t bar

5. 重命名会话

通过 tmux rename-session 命令可以重命名会话

1
$ tmux rename-session -t foo foopro

上述命令,将命名为 foo 的会话修改为 foopro

6. 删除会话

通过 tmux kill-session 命令可以删除会话

1
2
3
$ tmux kill-session -t foo

$ tmux kill-server

如果要删除所有会话,通过 kill-server 命令


专题:

本文发表于 2023-09-13,最后修改于 2023-10-04。

本站永久域名「 golinuxblog.com 」,也可搜索「 Linux教程网 」找到我。


上一篇 « 总结openssl常见用法 下一篇 » Linux如何设置SSH免密码登录

推荐阅读

Big Image