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