「tmux」- terminal multiplexer

  CREATED BY JENKINSBOT

tmux,终端复用器。可以在一个终端里与多个SHELL进行交互。更多内容参考手册。

tmux是什么

tmux可以让你在一个屏幕里操作多个终端(至少不用ALT+TAB来频繁的切换窗口)。也可以断开tmux与当前屏幕的绑定,断开之后依旧可以恢复连接状态(恢复到之前的状态)。

当tmux启动时,会创建一个session,该session连接了一个window。屏幕底部的“绿行”是状态栏,显示了当前的session的信息,并可以用于输入交互命令。

session是由tmux管理的伪终端集合。每个session可以连接多个window。一个window占据了整个屏幕,并可以被分为多个pane,每个pane都是一个独立的伪终端(man 4 pty)。

任意数量的tmux实例可以连接到同一个session上,并且任意数量的window可能存在于同一个session中。如果结束了所有的session,tmux就退出了。

在tmux中,的session已经持久化了,如果意外断开了与服务器的连接(比如ssh超时)或者故意断开连接(使用‘C-b d’人为断开),可以使用tmux attach命令恢复之前的连接。

在tmux中,每个client在屏幕上显示一个session,多个session由tmux server管理。tmux server与tmux client进程分离,通过/tmp下的socket进行通信。

tmux涉及的术语有:session、windows、pane。

配置文件

~/.tmux.conf
默认的tmux配置文件

/etc/tmux.conf
系统范围(全局)的配置文件

tmux启动时会执行$HOME/.profile文件。

命令行语法

tmux [-2CluvV] [-c shell-command] [-f file] [-L socket-name] [-S socket-path] [command [flags]]

相关的程序、插件、配置

https://github.com/search?q=tmux&type=Repositories&ref=simplesearch

参考文献

Homepage:https://github.com/tmux/tmux/wiki
Manual:http://man.openbsd.org/OpenBSD-current/man1/tmux.1
https://leanpub.com/the-tao-of-tmux/read
Wikipedia / tmux: https://en.wikipedia.org/wiki/Tmux

相关书籍

《tmux 2:Productive Mouse-Free Development》