tmux = screen Pro Plus Max(bushi
什么是 tmux ?
tmux 是个在CLI(命令行界面)应用程序,它可以同时跑多个CLI应用,其中的每个应用的终端都会受到 tmux 的管理,可以使用 tmux 访问正在运行的终端,这即为终端多路复用。
tmux 跟 screen(某xxs只会用这个挂py应用,甚至连nohup也不用) 一样可以 deattach 和 attach(人话:挂后台),但与 screen 不同的是 tmux 可以更方便直观的创建、查看、访问和退出终端。
不过 tmux 默认的快捷键可能对新手来说比较反人类。(和Blender的键位风格一样反人类,只符合作者的使用习惯)不过习惯了就好(可以改,如果不能改就没那么多人用了)。
从打入 tmux
Enter开始
这是最开始看到的画面
映入眼帘的是等待你响应的sh,当然细心的家伙会第一时间注意到底下很显眼的类似“任务栏”(官方叫它:status line)的玩意。
这个“任务栏”看上去好像可以用鼠标点,事实可以,只是需要改配置文件(建议尽量用键盘,效率高)
左下角有 [0]
是Session名,默认为0,再开就是1(递增的)当然可以自定义();“窗口”,熟悉Win的肯定不陌生,只是这窗口占全终端罢了。
带 *
是当前“窗口”,而带 -
是上次访问的“窗口”。
右下角有 用双引号括住的 主机名(默认是hostname)以及 日期与时间。
开始做些 tmux 特有的操作
以下均为默认键位。
以Ctrl + B作为“起手技”(下文以“起手技”替代该组合键),目的就是避免与各种程序的键位冲突。(不过有一部分人认为“起手技”打起来感觉不行)
在键盘上打出“起手技”后,按?(这是 Shift+/)即可显示键位帮助(英文)
常用“连招” | 对应的操作 |
---|---|
“起手技”+c | 创建新的“窗口” |
“起手技”+d | deattach(挂后台),使用 tmux attach -t 以回到前台当然 tmux attach 也可以回到最近deattach的session |
“起手技”+[ | 可以用方向键/PgUp/PgDn键控制光标浏览当前终端输出的内容,按 Ctrl + c 回到正常状态 |
“起手技”+% | 左右分屏 |
“起手技”+" | 上下分屏 |
“起手技”+方向键 | 切换激活的“屏” |
“起手技”+数字 | 切换“窗口” |
“起手技”+x | 不留后台地退出 |
“起手技”+q | 显示“屏”的编号 |
等等,更多“连招”请参阅官方文档。(其实是作者懒得打罢了)
作者的实际使用体验
- 其实 分屏 的机制打破了GUI(X11)的复制逻辑,故在i3wm下尽可能使用创建新的终端而不是使用tmux的分屏。
- 一般tmux是用来ssh下进行多任务操作的(个人感觉总之比screen爽)
实际用法示例
项目挂后台看日志两不误
要切到后台只需要“起手技”+d,直接退出ssh连接也不影响项目运行。
要回来就只需要 tmux attach
就好。(这里省略了一些情况)
更新/安装软件时做一些别的事情
据说有一速通Arch Linux安装的家伙也是用tmux做这样的事情。
总之
个人感觉tmux的“连招”搓起来比screen的舒服,故
tmux = screen Pro Plus Max(bushi
- 感谢你赐予我前进的力量