Tmux 日常使用

2020-04-02  本文已影响0人  wayyyy

tmux是什么?

命令行的典型使用方式是,打开一个终端窗口,在里面输入命令,用户与计算机的这种临时的交互,称为一次"会话"(session)。

会话的一个重要特点是:窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
一个典型的例子就是,比如你在ssh登录远程计算机上运行下面这段代码,当你ssh退出时,该代码运行的进程也会结束掉。

#include <thread>
#include <iostream>
#include <chrono>
using namespace std;

int main()
{
    while(1)
    {
        cout << "hello world" << endl;
        std::this_thread::sleep_for(std::chrono::seconds(2));
    }
}

为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。

  1. 它允许在单个窗口中,同时访问多个会话,这对于同时运行多个命令行程序很有用。
  2. 它可以让新窗口"接入"已经存在的会话。
  3. 它允许每个会话有多个连接窗口,因此可以多人实时共享会话。
  4. 它还支持窗口任意的垂直和水平拆分。

安装Tmux


Tmux 前缀键

Tmux 窗口有大量的快捷键。所有快捷键都要通过前缀键唤起,默认的前缀键是Ctrl+b,即先按下Ctrl+b,快捷键才会生效。
助命令的快捷键是Ctrl+b ?。它的用法是,在 Tmux 窗口中,先按下Ctrl+b,松开,再按下?,就会显示帮助信息。
这里列个表格,说明一下其快捷键:

快捷键或者命令 功能
tmux new -s demo 新建名为demo会话
tmux kill-session -t demo 杀死名为demo会话
tmux ls 查看会话
tmux attach -t 接入会话
Ctrl+b d 分离会话
Ctrl+b c 新建窗口
tmux new-window -n demo1 新建名为demo1的窗口
Ctrl+b n 切换指定编码为n的窗口
Ctrl+b " 划分上下2个窗格
Ctrl+b % 划分左右2个窗格
Ctrl+b x 退出当前窗格
Ctrl+b z 当前窗格全屏显示,再使用一次会变回原来大小

会话管理


窗格操作

Tmux 可以将窗口分成多个窗格(pane),每个窗格运行不同的命令。以下命令都是在 Tmux 窗口中执行。


窗口管理

除了将一个窗口划分成多个窗格,Tmux也允许新建多个窗口。


窗口,窗格,会话关系


脚本化的tmux

tmux作为终端复用软件,支持纯命令行操作也是其一大亮点。你既可以启用可视化界面创建会话,也可以运行脚本生成会话。

参考资料

  1. http://www.ruanyifeng.com/blog/2019/10/tmux.html
  2. http://louiszhai.github.io/2017/09/30/tmux/#%E7%BB%93%E5%AF%B9%E7%BC%96%E7%A8%8B
上一篇 下一篇

猜你喜欢

热点阅读