Tmux 使用笔记
- 平时通过ssh远程管理的时候,打开的终端(terminal),作为计算机与用户的交互,称为一种会话(session)
- 会话的特点:一次性,不论进程会话进度,关闭会话后,任务结束,无法持久化运行
- tmux 就是一种"可持久化"运行的会话,终端和会话分离,进程不会随着会话结束而结束
- 允许单个
terminal
中同时访问多个会话 - 运行
新 terminal
接入已经存在的会话 - 允许每个会话有多个连接
terminal
,实现多人实时会话 - 支持
terminal
任意的垂直和水平拆分
- 允许单个
- 同类软件: GNU Screen
个人理解,每个窗口(windows)可以开多个会话(session),每个会话包含多个terminal
使用
× 启动
tmux
× 退出
Ctrl+d or exit
常用快捷键
- tmux 具有大量的快捷键,所有快捷键都需要前缀键唤起,默认为
Ctrl+b
,再按?
即可显示帮助信息
#会话与终端分离
Ctrl+b d
#列出所有会话
Ctrl+b s
#重命名当前会话
Ctrl+b $
#杀掉当前的会话
Ctrl+b &
#切换上一个会话
Ctrl+b (
#切换下一个会话
Ctrl+b )
#划分左右两个窗格
Ctrl+b %
#划分上下两个窗格
Ctrl+b "
#光标移动
Ctrl+b 方向键
#光标移动上方
Ctrl+b ;
#光标移动下方
Ctrl+b o
#交换上面的terminal
Ctrl+b {
#交换下面的terminal
Ctrl+b }
#所有窗格向前移动一个位置,第一个窗格变成最后一个窗格
Ctrl+b Ctrl+o
#所有窗格向后移动一个位置,最后一个窗格变成第一个窗格
Ctrl+b alt+o
#关闭当前窗口
Ctrl+b x
#当前terminal单独拆分出来
Ctrl+b !
#当前terminal全屏显示,再次使用恢复原来的大小
Ctrl+b z
#调整terminal大小
Ctrl+b Ctrl+方向键
#显示terminal编号
Ctrl+b q
#创建新的窗口,状态栏显示多个窗口的信息
Ctrl+b c
#切换到上一个窗口
Ctrl+b p
#切换到下一个窗口
Ctrl+b n
#切换到指定编号的窗口
Ctrl+b num
#从列表中选择窗口
Ctrl+b w
#重命名窗口
Ctrl+b ,
常用命令
#会话与终端分离
tmux detach
#列出当前所有会话
tmux list-session == tmux ls
#接入某个已经存在的会话,默认第一个会话编号为0,或者使用会话名称
tmux attach -t <session-name>
exp:tmux attach -t 0
#杀死会话
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-windows
#划分左右两个终端
tmux split-windows -h
#移动光标到上方位置
tmux select-pane -U
#移动光标到下方位置
tmux select-pane -D
#移动光标到左边位置
tmux select-pane -L
#移动光标到右边位置
tmux select-pane -R
#交换terminal,往上移动
tmux swap-pane -U
#交换terminal,往下移动
tmux swap-pane -D
#新建窗口
tmux new-windows
#新建一个窗口,指定会话名称
tmux new-windows -n <window-name>
#切换指定编号的窗口
tmux select-window -t <window-number>
#切换到指定名称的窗口
tmux select-window -t <window-name>
#重命名当前窗口名称
tmux rename-window <new-name>
#列出所有的快捷键,以及对应的tmux命令
tmux list-keys
#列出所有tmux命令及参数
tmux list-commands
#列出当前所有tmux命令及参数
tmux info
#重载当前tmux的配置
tmux source-file ~/.tmux.conf