??目前正在进行linux方面的学习,此篇文章记录了自己在学习linux过程中的部分心得。
1. 什么是tmux
??tmux是一款终端复用软件(terminal multiplexer),类似GNU Screen,但来自于OpenBSD,采用BSD授权。通过一个终端登录远程主机并运行后,在其中可以开启多个控制台而的终端复用软件。使用了tmux,你就可以在一个终端中同时运行多个会话,只需开启一个终端。 ??tmux的操作,主要分为3种:会话操作、窗口操作、窗格操作。
2. tmux的安装与启动
??安装:$ sudo apt-get install tmux ??启动:安装完成之后,打开一个“终端”,输入"‘tmux ”,即可打开tmux,如下图所示: ??退出:按下“ctrl + d ”或者直接显式的输入“exit ”,即可退出tmux。
3. tmux前缀键
??tmux窗口有很多快捷键,所有的快捷键都必须通过前缀键唤起,默认的前缀键为“ctrl + b ”,即先按下前缀键“ctrl + b ”之后,在按下相应的快捷键,快捷键才会生效。 ??举例:帮助信息的快捷键为“? ”,那么使用tmux帮助信息的方式是,先按下“ctrl + b ”,然后再按下“? ”,此时就会显示帮助信息,当按下“ESC 键”或者“q 键”,就可以退出帮助信息。
4. 会话(session)操作
4.1 新建会话
命??令:tmux 说??明:通过该命令会创建一个会话(session),默认是通过数字进行命名的,但是有时候我们明确知道session的名字,以方便进入会话,可以使用下面这个命令。
命??令:tmux new -s <session-name> 说??明:创建一个名称为“session-name”的会话。
快?捷?键:无
4.2 查看会话列表
命??令:tmux ls 快?捷?键:ctrl + b s
4.3 离开会话
??有时候我们需要离开终端,操作其他的任务,需要离开该任务,但是又想该任务继续在后台执行,这时候我们需要在 tmux 的任何一个窗格中输入如下命令。 命??令:tmux detach 快?捷?键:ctrl + b d
4.4 进入会话
??离开某个会话之后,后期若我们还需对此会话进行操作,那么可以使用如下命令再次进入该会话。 命??令:tmux attach -t <session-name> 快?捷?键:无
4.5 关闭会话
命??令:tmux kill-session -t <session-name> 说??明:使用该命令可以关闭任何会话,而非只关闭当前活动的会话。
4.6 切换会话
命??令:tmux switch -t <session-name> 说??明:该命令可实现各会话之间的相互切换。
4.7 重命名会话
命??令:tmux rename-session -t <old-session-name> <new-session-name> 说??明:该命令实现会话的重命名,其中old-session-name为旧会话 名称,new-session-name为新会话名称。 快?捷?键:ctrl +b $
5. 窗口(window)操作
5.1 新建窗口
命??令:tmux new-window -n <window-name> ?其中window-name为待创建的串口名称。 快?捷?键:ctrl + b c ?通过此快捷键直接创建一个窗口(不过通过快捷键创建的窗口名称为“数字编号”,可以再通过快捷方式 ctrl + b , 重命名窗口名称)。
5.2 切换窗口
命??令:tmux select-window -t <window-name> ? 该命令可实现多窗口之间的快速切换。 快?捷?键:ctrl + b w ?通过此命令可以显示窗口列表,然后可以通过“↑↓ ”或者“j k ”进行窗口的选择。
5.3 重命名窗口
命??令:tmux rename-window <new-window-name> ?例如:tmux rename-window ccat 即将当前窗口重命名为ccat(切记!!!重命名时,只能重命名当前工作的窗口 )。 快?捷?键:ctrl + b , ?该快捷键可以重新命名窗口。
5.4 关闭窗口
命??令:tmux kill-window -t <window-name> ?例如:tmux kill-window -t ccat 即关闭ccat窗口。 快?捷?键:ctrl + b & ?可以关闭当前的的窗口
6. 窗格(pane)操作
??tmux 可以将窗口分成多个窗格(pane),每个窗格运行不同的命令。以下命令都是在 tmux 窗口中执行。
6.1 划分窗格
命??令:tmux split-window ?划分上下两个窗格 ?????tmux split-window -h ?划分左右两个窗格
快?捷?键:ctrl + b " ?划分上下两个窗格。 ?????ctrl + b % ?划分左右两个窗格
??分屏之后光标停留在哪个窗格上,表示该窗格是活动的,当前活动窗格会被绿色的线条围起来。分屏之后当前窗口名字会重置为默认窗口名字。 ??通过多次分屏操作,我们可以得到各种样子的分屏效果,例如下图显示的是一次水平分屏之后,再将下面的窗格垂直分屏之后的效果:
6.2 移动光标
命??令:tmux select-pane -U ?光标切换到上方窗格(相比于当前活动窗格) ?????tmux select-pane -D ?光标切换到下方窗格(相比于当前活动窗格) ?????tmux select-pane -L ?光标切换到左侧窗格(相比于当前活动窗格) ?????tmux select-pane -R ?光标切换到右侧窗格(相比于当前活动窗格)
快?捷?键:ctrl+b ↑ ?光标切换到上方窗格 ?????ctrl+b ↓ ?光标切换到下方窗格 ?????ctrl+b ← ?光标切换到左侧窗格 ?????ctrl+b → ?光标切换到右侧窗格
6.3 其他快捷键
ctrl + b q ?显示窗格编号ctrl + b z ?当前窗格全屏显示,再使用一次会变回原来大小ctrl + b x ?关闭当前窗格
7. 总结
??tmux有3个重要的概念:会话(session)、窗口(window)、窗格(pane)。在平时的工作中,更多的是使用窗口,窗格一般不使用,总感觉窗格划分之后的屏幕显示的太小了。
|