0%

Terminal,Tmux和Shell三角关系

本博文属于自我理解性质,请知悉。

一、Terminal

一个Terminal进程主要提供一个窗口,有些支持多标签页,允许存在多个独立的Terminal进程,跟Chrome进程类似。Terminal作为独立的应用程序,有自己的快捷键体系,可参见Gnome Terminal快捷键(Gnome Terminal是Terminal的一种)。

二、Tmux

Tmux是分屏软件的一种(比如还有Screen)。Tmux基于Terminal,对Terminal的独立窗口或者标签页窗口进行分屏操作,获得Tmux窗口或者窗格。Tmux作为独立的应用程序,有自己的快捷键体系,可参见Tmux快捷键

三、Shell

Shell作为壳程序,形式上寄生于Terminal的独立窗口或者标签页窗口,Tmux的窗口或者窗格,但是内容上却是核心基石,没有Shell,Terminal和Tmux都没有存在的意义。Shell作为独立的应用程序,有自己的快捷键体系,可参见Bash Shell快捷键(Bash Shell是Shell的一种)。

归纳总结,Terminal,Tmux,Shell三者紧密相连(使用Shell的Ctrl+d快捷键或者exit命令退出Shell,就会自动退出Terminal的独立窗口或者标签页窗口,Tmux的窗口或者窗格。从另外一个角度陈述,Terminal的独立窗口或者标签页窗口,Tmux的窗口或者窗格都不能脱离Shell单独存在),很难(比如很难区分某个快捷键到底是属于Terminal、Tmux还是Shell)也没有必要对三者进行明确的隔离区分。

您的支持将鼓励我继续分享!