tmux
的远程连接黑魔法,所以本篇文章记录的是单机情况下的操作,远程连接没有用过,就不好置评 tmux
也绝对是让人惊艳的一款终端软件 安装,直接从仓库里安装,但是一般而言, Linux
会自带
$ sudo apt-get install tmux
完成之后,不用管其他的,直接在 Shell
里输入:
$ tmux
很好,进入到了另一个异次元,其实看起来和刚才没多大区别,也就是屏幕闪了一下。
这就是最原始的 tmux
界面,接下来记录进行最有用的,也是最经常用的 三个操作
tmux
之后,先摁 Ctrl
,再摁 b
,发现进入到了 上帝模式 ,姑且当这种模式就是能干任何事的上帝模式,进入这个模式要干嘛? 后面提到上帝模式,就说明摁了 Ctrl+b
%
进行屏幕的 水平分割 ,至于问我怎么竖直分割, 我不喜欢用 ,所以忘了。 %
的意思就是,先摁住 shift
键,再摁数字 5
,不是小键盘的 5
,而是英文字符上面的那个 5
。 : )
分割完,要怎么在这两个窗口之间跳转呢?
要是不想要当前操作的这个分屏怎么办?
x
,就像是右上角的叉叉一样,很好记。 d
,其实这不是退出,这叫做 断开连接 ,意味着你可以再恢复 不信,你试试
$ tmux a
原归正转,当你回到原始 Shell
时,使用命令 tmux ls
,看看会出现什么:
$ tmux ls
出现
root@kali:~/ClionProjects/httpd3# tmux ls 0: 1 windows (created Mon Mar 28 08:39:01 2016) [150x40]****
现在从这行回馈中,能得到对我们最有用的是两个信息:当前有一个 tmux窗会话 ,这个会话的名字是 0
tmux
可以有多个会话,一个会话可以有多个窗口, 从外部 Shell
可以连接到不同会话,从内部会话可以切换不同的窗口。
得到了名字有什么用?得到了名字,你就能掌控这个会话的一切,就像 夏目友人帐 ,跑题。
连接到这个会话(如果有多个会话,这就十分有用):
$ tmux attach -t 0
或者
$ tmux a -t 0
a
是对 attach
的缩写,现在能理解上面那个 d
的含义了吧,就是 detach
的意思。
关闭这个会话:
$ tmux kill-session -t 0
关闭这个会话,这个会话里的一切都消失了(当然你要是重启系统,自然也会消失)
上面所说的三个组合,是最常用的三个组合键,记好它们,有人会问我, 你的底部状态栏怎么和我的不一样 ,当然是配置问题
和 vim
一样, tmux
也有一个配置文件,放在家目录下的 .tmux
,也就是说在 shell
里输入
$ cd ~
进入的目录里,找到 .tmux.conf
,如果没有就:
$ touch .tmux.conf
不要怕会误删什么东西。打开它,输入如下内容:
set -g base-index 1 set -g status-utf8 on set -g status-bg black set -g status-fg white set -g status-interval 5 set -g status-left-length 90 set -g status-right-length 60 set -g status-left "#[fg=Green]#(whoami)#[fg=white]::#[fg=blue]#(hostname -s)#[fg=white]::#[fg=yellow]#(curl ipecho.net/plain;echo)#[fg=Green] <- " set -g status-justify left set -g status-right '#[fg=Cyan]#S #[fg=white]%a %d %b %R'
稍微解读一下第八行,这样你也可以自己修改配置文件了,很简单(更高级的请看官方文档,以及这个配置文件也不是我原创是属于这位先生的,当然我进行了一点小小的修改)
在 ""
里面包裹着一长串的看不懂的英文, #
分割着每个属性, []
里面装放着是下一个 #
属性的显示颜色, ()
包裹着的理解为可以在 shell
下执行的命令,将结果显示出来,想要添加 固定字符串 ,直接写就行,例如我在末尾添加了 <-
。
网上有很多介绍 tmux
的文章, 但不要轻易相信他们 ,永远相信自己实践出来的效果,因为网页文章的质量没有人监管,很多都是错误的,让初学者摸不着头脑(也许是手误打错,也许是真的不会装懂。)
我这个配置文件的效果,就在上面的图片中有显示。
想让这个配置文件生效,必须要将所有的 tmux
窗口都 退出 才行。
tmux
的会话 : $ tmux
Ctrl + b --> %
Ctrl + b --> 方向键
Ctrl + b --> x
Shell
: Ctrl + b --> d
tmux
: tmux a -t 0
Shell
把这个会话彻底关闭 : $ tmux kill-session -t 0
创建会话的时候,如果不指定名称,那么 tmux
会帮你给这个会话取名字,也就是前面看到的数字,依次递增,如果想自己指定名称那么:
$ tmux new -s session-1-name
会立即进入到你创建的这个新会话内,现在通过 detach
回到原始 Shell
,并输入 tmux ls
session-1-name: 1 windows (created Mon Mar 28 09:28:54 2016) [150x40]
现在再看看这条信息,应该很清晰明了, :
前面是会话名称,后面是这个会话里当前有几个 窗口
当然你想要重命名这个会话也是可以的,只要进入上帝模式以后,摁 $
即可
创建窗口
c
,就能创建一个新窗口,并且立即进入到新窗口内,如何在窗口之间切换呢? <-
后面是不是多了些什么,没错那些就是新的窗口,每个窗口前面都有序号,在上帝模式下,摁对应的序号就能切换到那个窗口去。 ,
就能修改了,你会发现下面的状态栏变成黄色,且可编辑,删除原来的名字换成自己想要的名字就行。 切换会话
Shell
在去连接吗?当然不 s
,就能看见当前存在的会话,移动方向键选择即可。 Ctrl + b --> s
w
Ctrl + b --> w
可以仔细观察一下, 窗口的名字 ,是否有什么特殊的地方,文末解释
man
手册就行,不需要记住,最实用的,才是最好的。 如果是日常个人电脑上的操作,可以这样:
Terminal
tmux
: $ tmux
不必在意会话的名字(如果是公用的可以考虑用名字区分) 直接分屏 Ctrl + b --> %
实际上水平分屏的作用已经足够,对于屏幕小于 17寸 的显示器而言,对半分已经很完美了,要是分成四份,那真是有点…
Ctrl+b
不撒手,左右方向键调节窗口大小。 想回到原始 Shell
就 Ctrl + b --> d
当然这个一般很少用,我几乎不用
$ tmux a
*
的是当前窗口,名字末尾带 -
则是上一个窗口。 http://www.wushxin.top/2016/03/28/%E4%BD%BF%E7%94%A8tmux.html