------tmux------------

tmux

老牌终端复用器(terminal multiplexer)GNU Screen 的现代改进版,提供了更强大的功能、更高的代码质量以及更宽松的 BSD 许可协议。

  • tmux 的架构和 TWP 一致,不过最高一级的任务在 tmux 术语中叫做 session。
  • tmux 采用C/S架构。当我们执行 tmux 命令创建新任务时,就会在后台启动一个 tmux 服务,在命令行窗口看到的则是它的客户端。
    • 服务可以通过客户端和我们交互,接收我们的指令,就像任何一个前台运行的普通命令行应用一样,此时当前运行的任务处于连接(attached)状态。
    • 当我们不再需要与tmux中的会话交互,而是让它们在后台运行时,可以将服务断开(detach),类似于把一个应用放入后台。

作为内部运行命令行应用的容器,tmux 通过前缀来解决与内部应用快捷键冲突的问题。

  • 一个标准的 tmux 快捷键由两部分组成:前缀和主体。
    • tmux 的默认前缀是 Ctrl-b。
    • 以断开 tmux 服务为例,先按 prefix 组合键,松开后再按 d 键。
    • 前缀告诉 tmux: 后面跟着的输入是发给你的,而不是发给你内部的命令行应用的。而 d 键默认与 detach 命令绑定,所以 tmux 收到 d 后执行 detach,完成断开动作。

安装

# Linux
sudo apt install tmux

# macOS 
sudo brew install tmux

配置

根据 Unix 命名习惯,配置文件是 HOME 目录下的一个隐藏文件(所以有时会叫他们 dot files),文件名是应用名后面加上 rc 或者 .conf。
tmux 的默认配置文件是 ~/.tmux.conf。

使用

# 创建一个新 tmux 任务
# -s 表示后面的值用来设置 session 的名称
tmux new -s monitor

# 列出所有已创建的任务
tmux list-sessions

# 列出所有任务中的窗口
tmux list-windows -a

# 列出所有窗口中的面板
tmux list-panes -a

# 回到名为 monitor 的 session
tmux attach -t monitor

# 如果已经在其中一个 session,想要切换任务可以
prefix + s : 跳转到其他 session
prefix +w : 跳转到其他 session 里的其他窗口

posted @ 2023-04-08 16:49  bm小明  阅读(15)  评论(0编辑  收藏  举报