Tmux(terminal multiplexer)
终端复用器,和 screen
功能类似。
介绍
Tmux
是将会话与窗口的 解绑
工具
安装
# ubuntu
$ sudo apt install tmux
# CentOS 或 Fedora
$ sudo yum install tmux
# Mac
$ brew install tmux
使用
基本使用
# 进入 tmux,左下方显示窗口编号和名称,右下方显示系统hostname和时间信息
$ tmux
# 退出
$ Ctrl+d 或 exit
快捷键使用
先按下 Ctrl+b
,然后在按其他键,如 Ctrl+b ?
进入帮助窗口,按 esc
退出
常用命令
# 新建会话
tmux new -s <session-name>
# 分离会话
tmux detach
或
Ctrl+b d
# 查看回话列表
tmux ls
tmux list-session
# 接入会话
tmux attach -t 0
tmux attach -t <session-name>
# 杀死会话
tmux kill-session -t 0
tmux kill-session -t <session-name>
# 切换会话
tmux switch -t 0
tmux switch -t <session-name>
# 重命名会话
tmux rename-session -t 0 <new-name>
# 分上下两个窗格
tmux split-window
# 分左右两个窗格
tmux split-window -h
# 光标切换到上方窗格
tmux select-pane -U
# 光标切换到下方窗格
tmux select-pane -D
# 光标切换到左边窗格
tmux select-pane -L
# 光标切换到右边窗格
tmux select-pane -R
常用快捷键
Ctrl+b d
:分离当前会话Ctrl+b s
:列出所有会话Ctrl+b $
:重命名当前会话Ctrl+b %
:分左右两个窗格Ctrl+b ;
:光标切换到上一个窗格Ctrl+b o
:光标切换到下一个窗格Ctrl+b {
:当前窗格与上一个窗格交换位置Ctrl+b }
:当前窗格与下一个窗格交换位置Ctrl+b Ctrl+o
:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格Ctrl+b Alt+o
:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格Ctrl+b Ctrl+<arrow key>
:按箭头方向调整窗格大小Ctrl+b x
:关闭当前窗格Ctrl+b !
:将当前窗格拆分为一个独立窗口Ctrl+b z
:当前窗格全屏显示,再使用一次会变回原来大小Ctrl+b q
:显示窗格编号
示例
同时启动多个分屏执行命令
#gnome-terminal
#!/bin/bash
# kill before new
tmux kill-session -t session1
tmux new-session -d -s session1
# 分割窗口
# 0 | 2
# 1 | 2
tmux split-window -h
tmux select-pane -t 0
tmux split-window -v
# 选择窗口,输入控制命令
tmux select-pane -t 0
tmux send-keys "sleep 1s" C-m
# 同上
tmux select-pane -t 1
tmux send-keys "sleep 2s" C-m
# 同上
tmux select-pane -t 2
tmux send-keys "sleep 3s" C-m
# 接入会话
tmux -2 attach-session -t session1
说明:
#gnome-terminal
用于打开一个新的终端