这么好用的神器怎么可以不知道呢,带你细品Tmux这个工具神器

背景

我们先来了解下tmux是什么呢?tmux(terminal multiplexer)是Linux系统中的终端分屏神器。我们都知道日常运维工作中,用的服务器系统都是linux的,而服务器的系统可不会安装图形界面,都是用命令行来操作的。那么想新建个窗口终端,在同一个窗口划分成多个终端就比较麻烦了。tmux就可在一个屏幕上分成多个终端(准确说是伪终端)。该工具可以连接或断开会话并保持终端在后台运行。类似screen,个人比较两者的使用感受后,强烈建议用tmux,再也不想用screen了。那说了这么多,它是什么样的,有多么神呢,请看下面详解。

这么好用的神器怎么可以不知道呢,带你细品Tmux这个工具神器

tmux

Tmux详解

基本结构

基本结构包括会话(session)、窗口(window)、窗格(pane)三部分,会话实质是伪终端的集合,每个窗格表示一个伪终端,多个窗格展现在一个屏幕上,这一屏幕就叫窗口。基本结构及状态信息如下图所示:


这么好用的神器怎么可以不知道呢,带你细品Tmux这个工具神器

tmux结构

基本操作

基本的操作包括:对会话、窗口、窗格进行管理,包括创建、关闭、重命名、连接、分离、选择等等。

操作需要分两种:可在系统的shell终端或tmux命令模式用命令操作也可在tmux终端使用快捷键使用。

tmux默认的快捷键前缀是:Ctrl+b(下文用prefix指代)。用法:首先按下前缀组合键后松开,再根据需求按下命令键进行快捷操作即可。

快捷键可自定义。

比如想要将前缀改为Ctrl+a,但需要保留shell默认的Ctrl+a快捷键,只需配置~/.tmux.conf文件如下即可:

<code>set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix
bind-key R source-file ~/.tmux.conf \\; display-message "~/.tmux.conf reloaded."/<code>

现在已将原先的Ctrl+aprefix Ctrl+a

取代,即需要按两次Ctrl+a才可效。

配置详解:配置中前三行都好理解。第四行的作用是用prefix r来重新新加载配置文件,并输出提示,否则需要关闭会话后配置文件才能生效。当然也可手动加载配置文件,方法是在tmux终端输入”prefix :”进入命令模式,用source-file命令加载配置文件,不过不是那么方便罢了。

会话管理

常用命令

<code>tmux new  #创建默认名称的会话(在tmux命令模式使用new命令可实现同样的功能,其他命令同理,后文不再列出tmux终端命令)

tmux new -s sun  #创建名为sun的会话

tmux ls  #显示会话列表

tmux a  #连接上一个会话

tmux a -t mysession  #连接指定会话

tmux rename -t s1 s2  #重命名会话s1为s2

tmux kill-session  #关闭上次打开的会话

tmux kill-session -t s1  #关闭会话s1

tmux kill-session -a -t s1  #关闭除s1外的所有会话

tmux kill-server  #关闭所有会话/<code>

常用快捷键

<code>prefix s  #列出会话,可进行切换

prefix $  #重命名会话

prefix d  #分离当前会话

prefixD  #分离指定会话/<code>

窗口管理

<code>prefix c  创建一个新窗口

prefix ,  重命名当前窗口

prefix w  列出所有窗口,可进行切换

prefix n  进入下一个窗口

prefix p  进入上一个窗口

prefix l  进入之前操作的窗口

prefix 0~9  选择编号0~9对应的窗口

prefix .  修改当前窗口索引编号

prefix ‘  切换至指定编号(可大于9)的窗口

prefix f  根据显示的内容搜索窗格

prefix &  关闭当前窗口/<code>

窗格管理

<code>prefix %  #水平方向创建窗格

prefix “  #垂直方向创建窗格

prefix Up|Down|Left|Right  #根据箭头方向切换窗格

prefix q  #显示窗格编号

prefix o  #顺时针切换窗格

prefix }  #与下一个窗格交换位置

prefix {  #与上一个窗格交换位置

prefix x  #关闭当前窗格

prefix space(空格键)  #重新排列当前窗口下的所有窗格

prefix !  #将当前窗格置于新窗口

prefix Ctrl+o  #逆时针旋转当前窗口的窗格

prefix t  #在当前窗格显示时间

prefix z  #放大当前窗格(再次按下将还原)

prefix i  #显示当前窗格信息/<code>

其他命令

<code>tmux list-key  #列出所有绑定的键,等同于prefix ?

tmux list-command  #列出所有命令/<code>

上面为tmux的常见操作,基本可以满足工作需求。如有疑问请关注留言评论。

关注科技细品,想要领略科技魅力,需要你品你细品。


分享到:


相關文章: