什么是tmux
在Linux上,终端几乎是我们打交道最多的应用。当我们的终端上正在执行某个程序,这个程序占用了终端,比如make,rsync,htop等,我们可以通过Ctrl+Alt+Fx 键组合切换到另一个终端,用ssh在登陆一个终端,在GUI界面中在开启一个终端我们有很多方法,而tmux就是一个这样的开发应用,是一款非常好用的终端复用器
教程
名词解释
- Session 会话
- Windows 窗口
- Pane 网格
我们在使用linux GUI附带的终端时,可以发现,当我们关闭窗口时,终端内的任务就会退出,这是因为我们的任务运行在Session内,如果我们希望关闭Session时内部的任务继续执行,这个时候我们就可以使用tmux这个工具了
我们可以理解为,当我们启动tmux时,我们启动了一个Session,我们可以在这个Session中创建许多Windows,而每个windows我们都可以将其分解为几个Pane小网格。
所以它们的关系可以理解为:Session > Windows > Pane
tmux 启动!!
执行下面的命令,启动tmux
tmux
或者我们可以启动一个带有Session-name的终端
tmux new -s name
然后就可以看见,tmux的左下角,显示出了session的name
分离
上面我们说过,一般的shell窗口当我们退出后程序就会停止,但是在tmux中我们可以使用detach将窗口和session分离(( ̄▽ ̄)"对滴,这个和screen那个程序很像)
在命令行中执行
tmux detach
或者使用快捷键Ctrl+a b分离,这里是先按Ctrl+a,然后在按b键哦
如果想要和正常的shell一样,退出并杀死程序,可以直接按快捷键Ctrl+d
切换窗口
先使用Ctrl+b c创建新窗口,然后再新窗口和其它窗口之间进行切换,对于tmux来讲,切换窗口最常用的就是Ctrl+b w
划分和切换网格
我一直认为tmux的其它快捷键都很合理,只有划分网格难以适应。。。为什么要用%和",每次按shift太不方便了
这里还是建议使用快捷键进行,毕竟一般要划分网格的时候,肯定是终端被占用了
使用Ctrl+b % 左右划分
使用Ctrl+b " 上下划分
最后
tmux的快捷键真的太多辣!!
评价:虽然tmux很强大,但是能用GUI的环境我还是选GUI