tmux使用教程
tmux使用教程。感觉跟screen 命令很像的一个工具。懒得在后台挂起一个程序,可以使用该命令,挂起。或者,安装软件时,或者其他执行长时间的命令,担心网络原因,断开,导致程序退出,也可以使用该命令。
相关资源
- https://blog.csdn.net/zong596568821xp/article/details/83785387
- linux多窗口工作环境 - tmux
- tmux基本操作
- 操作-表格样式展示
tmux入门
安装sudo apt install tmux
入门三板斧
# 新建一个名叫psql的会话
tmux new -s psql
# 进入上次的会话
tmux a
# 进入指定名称的会话,如果没有名称,可以使用数字序号
tmux a -t psql
# 查看有多少会话
tmux ls
# 关掉指定的会话
tmux kill-session -t 34
# 窗口
ctrl+b c # c新建 n 下一个
# 面板
ctrl+b " % # 新建
ctrl+b z # zoom 临时最大 o 切换
# 会话
ctrl+b s 选择一个会话
ctrl+b d 退出一个会话
tmux的C/S架构
服务端(Server): 1个服务端维护1~N个会话;
会话(Session): 1个会话对应1N个窗口;N个窗格;
窗口(Window):1个窗口对应1
窗格(Pane):vim、bash等具体任务就是在窗格中执行。
1.进入tmux
在shell中执行tmux就会自动创建一个匿名会话、窗口和窗格,而窗格内正在运行着另一个shell程序,这时我们可以像平常使用shell一样来工作。而tmux真正的威力在于对会话、窗口和窗格的管理。
2.快捷键前缀
tmux为使自身的快捷键和其他软件的快捷键互不干扰,特意提供一个快捷键前缀,默认为Ctrl+b。因此当我们输入任何tmux快捷键前必须先输入Ctrl+b。
该快捷键前缀是可以重置的。
3.操作窗格
Ctrl+b “ 水平分割当前窗格
Ctrl+b % 垂直分割当前窗格
Ctrl+b x 删除当前窗格
Ctrl+b 方向键 通过上下左右方向键跳转到对应的pane
Ctrl+b ; 跳转到上次激活的pane
Ctrl+b o 跳转到下一个pane
Ctrl+b q 显示各pane的编号,并输入编号跳转到对应的pane
Ctrl+b { 将当前pane移动到最左边
Ctrl+b } 将当前pane移动到最右边
Ctrl+b ! 将当前pane转变成window
4.操作Windoiw
Ctrl+b c 创建window
Ctrl+b , 重命名当前window
Ctrl+b & 关闭当前window
Ctrl+b n 跳转到下一个window
Ctrl+b p 跳转到上一个window
Ctrl+b 0…9 跳转到对应的window
5.操作Session
Ctrl+b s 显示所有会话
Ctrl+b $ 重命名
Ctrl+b d 脱离当前会话
Ctrl+b :kill-session 关闭当前会话
Ctrl+b ( 跳转到上一个会话
Ctrl+b ) 跳转到下一个会话
会话管理
\常用命令**
tmux new 创建默认名称的会话(在tmux命令模式使用new命令可实现同样的功能,其他命令同理,后文不再列出tmux终端命令)
tmux new -s mysession 创建名为mysession的会话
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 关闭所有会话
常用快捷键
prefix s 列出会话,可进行切换
prefix $ 重命名会话
prefix d 分离当前会话
prefix D 分离指定会话
窗口管理
prefix c 创建一个新窗口
prefix , 重命名当前窗口
prefix w 列出所有窗口,可进行切换
prefix n 进入下一个窗口
prefix p 进入上一个窗口
prefix l 进入之前操作的窗口
prefix 0~9 选择编号0~9对应的窗口
prefix . 修改当前窗口索引编号
prefix ‘ 切换至指定编号(可大于9)的窗口
prefix f 根据显示的内容搜索窗格
prefix & 关闭当前窗口
窗格管理
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 显示当前窗格信息
调整大小 prefix 按下Alt+方向键调整窗口
其他命令
tmux list-key 列出所有绑定的键,等同于prefix ?
tmux list-command 列出所有命令
复制模式
复制模式支持滚屏等操作,进入方法为Ctrl + b再按”[“,此时进入所谓的copy-mode
然后就可以用上下键或PageDn/PageUp浏览屏幕了。
退出copy-mode直接按”q”。
表格展示
引导键
ctrl+b,以下所有的命令,均要先输入引导键,然后再按下面的键。
系统操作
| 按键 | 作用 |
|---|---|
| ? | 列出所有快捷键;按q返回 |
| d | 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话 |
| D | 选择要脱离的会话;在同时开启了多个会话时使用 |
| Ctrl+z | 挂起当前会话 |
| r | 强制重绘未脱离的会话 |
| s | 选择并切换会话;在同时开启了多个会话时使用 |
| : | 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器 |
| [ | 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出 |
| ~ | 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息 |
窗口操作
| 按键 | 作用 |
|---|---|
| c | 创建新窗口 |
| & | 关闭当前窗口 |
| 数字键 | 切换至指定窗口 |
| p | 切换至上一窗口 |
| n | 切换至下一窗口 |
| l | 在前后两个窗口间互相切换 |
| w | 通过窗口列表切换窗口 |
| , | 重命名当前窗口;这样便于识别 |
| . | 修改当前窗口编号;相当于窗口重新排序 |
| f | 在所有窗口中查找指定文本 |
面板操作
| 按键 | 作用 |
|---|---|
| ” | 将当前面板平分为上下两块 |
| % | 将当前面板平分为左右两块 |
| x | 关闭当前面板 |
| ! | 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板 |
| Ctrl+方向键 | 以1个单元格为单位移动边缘以调整当前面板大小 |
| Alt+方向键 | 以5个单元格为单位移动边缘以调整当前面板大小 |
| Space | 在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled |
| q | 显示面板编号 |
| o | 在当前窗口中选择下一面板 |
| 方向键 | 移动光标以选择面板 |
| { | 向前置换当前面板 |
| } | 向后置换当前面板 |
| Alt+o | 逆时针旋转当前窗口的面板 |
| Ctrl+o | 顺时针旋转当前窗口的面板 |