Linux tmux 工具

基础术语:

sessions :会话,一个用户登录到主机,那么就建立了一个 session,如下图1,详细参考:https://my.oschina.net/u/158589/blog/360862
tmux session :在 session 中,我们可以创建多个 tmux session,效果相当于我们用 SecureCRT 打开多个 session,通常我们只打开一个就够了
注意 session 与 tmux session 的区别,我们只有先在 session 中打开一个 tmux session,才能在 tmux session 中创建多个 windows 和 panes
windows :在 session 中,我们可以通过 screen 命令创建多个屏幕,但在 tmux session 中,我们一般说可以创建多个窗口(windows)
Panes :在 tmux session 中,一个 windows 可以创建多个面板(Panes),或者说对一个 window 进行分屏,如下图2
tmux :一个分屏工具,它允许在一个 session 中创建多个 windows,在一个 windows 中创建多个 pages,即使 session 被关闭,windows 和 pages 也能在后台运行

 

 

tmux 命令:

[root@localhost ~]$ yum install -y tmux    # 安装 tmux
[root@localhost ~]$ tmux list-keys         # 列出所有快捷键

tmux session 常用操作:

[root@localhost ~]$ tmux                           # 在当前 session 中创建并进入一个新的 tmux session
[root@localhost ~]$ tmux new -s session_name       # 在当前 session 中创建并进入一个新的命名的 tmux session
[root@localhost ~]$ tmux switch -t session_name    # 通过 session_name 切换到指定的 tmux session
[root@localhost ~]$ tmux list-sessions / tmux ls   # 列出当前 session 中的所有 tmux session
[root@localhost ~]$ tmux detach                    # 离开当前开启的 tmux session
[root@localhost ~]$ tmux kill-server               # 关闭所有 tmux session

tmux windows 常用操作:

[root@localhost ~]$ tmux                          # 需要先进入 tmux session 才能进行如下操作
[root@localhost ~]$ tmux new-window               # 创建一个新的 window
[root@localhost ~]$ tmux list-windows             # 查看所有的 window
[root@localhost ~]$ tmux select-window -t :0-9    # 根据索引跳转到指定的 window
[root@localhost ~]$ tmux rename-window xxx        # 重命名当前 window

tmux panes 常用操作:

[root@localhost ~]$ tmux split-window           # 将当前 window 水平划分成两个 pane
[root@localhost ~]$ tmux split-window -h        # 将当前 window 垂直划分成两个 pane
[root@localhost ~]$ tmux select-pane -[UDLR]    # 切换到指定方向的 pane,分别表示:Up Down Left Right
[root@localhost ~]$ tmux swap-pane -[UDLR]      # 交换指定方向的 pane,分别表示:Up Down Left Right

 

在上面的操作中,我们都是直接用命令,但更常用的是使用 tmux 的快捷键,在操作快捷键之前需要先按 Ctrl + B ,再按快捷键才会生效

tmux sessions 快捷键:

[root@localhost ~]$ tmux  # 需要先进入 tmux session 才能进行如下操作
?                         # 查看所有快捷键,按 q 返回
d                         # 离开当前的 tmux session,暂时返回 session shell 界面
d                         # 离开指定的 tmux session,暂时返回 session shell 界面
s                         # 选择并进入到指定的 tmux session
Ctrl + D                  # 退出当前 tmux session
Ctrl + Z                  # 挂起当前 tmux session

tmux windows 快捷键:

c       # 创建新的窗口
&       # 关闭当前窗口
[0-9]   # 切换到指定窗口
p       # 切换至上一窗口
n       # 切换至下一窗口
l       # 前后窗口间互相切换
w       # 通过窗口列表切换窗口
,       # 重命名当前窗口
.       # 修改当前窗口编号,相当于重新排序

tmux panes 快捷键:

"             # 将当前窗口上下分屏
%             # 将当前窗口左右分屏
x             # 关闭当前面板
!             # 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板
ctrl+方向键    # 以1个单元格为单位移动边缘以调整当前面板大小
alt+方向键     # 以5个单元格为单位移动边缘以调整当前面板大小
q             # 显示面板编号
o             # 切换到当前面板中的下一个面板
方向键         # 移动到当前面板中的指定方向的面板
{             # 向前调换当前面板位置
}             # 向后调换当前面板位置
z             # 最大化当前所在面板,再按一次则还原

 

tmux 个性化配置:

[root@localhost ~]$ cat ~/.tmux.conf    # 自定义 tmux 配置文件
setw -g mode-mouse on                   # 开启window/pane里面的鼠标支持
setw -g mouse-resize-pane on            # 开启支持用鼠标拖动调节pane的大小
setw -g mouse-select-pane on            # 开启支持用鼠标点击pane来激活该pane

 

 

 

 

 

 

           

posted @ 2019-02-19 10:20  孔雀东南飞  阅读(462)  评论(0编辑  收藏  举报