title: Tmux
date: 2016-05-27 20:48:52
tags: kali系统配置
0x00 什么是Tmux?
Tmux是一个工具,用于在一个终端窗口中运行多个终端会话,不仅如此,我们还可以通过Tmux是终端会话运行于后台或者是按需接入,断开会话。
Tmux使用C/S模型构建,主要包括以下单元模块:
- server服务器。输入tmux命令时就开启了一个服务器。
- session会话:一个服务器可以包含多个会话
- window窗口:一个会话可以包含多个窗口。
- pane面板:一个窗口可以包含多个面板。
0x01 Tmux安装
kali中已经默认安装了Tmux,ubuntu下安装指令:apt-get install tmux
安装完成以后直接在shell中输入:tmux便会启动了。
0x02 Tmux的快捷键前缀(Prefix)
为了使自身的快捷键和其他软件的快捷键互不干扰,Tmux 提供了一个快捷键前缀。当想要使用快捷键时,需要先按下快捷键前缀,然后再按下快捷键。Tmux 所使用的快捷键前缀默认是组合键 Ctrl-b.
0x03 Tmux的配置文件
每当开启一新的会话时,Tmux都会读取Tmux的配置文件~/.tmux.conf,我们将下面一行加入到配置文件中,这样每次配置完成以后,只需要按下Ctrl-b r就可以重新加载配置并且使新的配置生效,而不用再开启一个新的会话。
0x04 Tmux的特性
新建窗格
- 建立一个新的竖直放置的窗格(paner):
root@jack:~# Ctrl-b %
- 建立一个水平方向放置的窗格
root@jack:~# Ctrl-b "
- 窗格间移动光标,只需按下Tmux的快捷前缀,然后在按下对应的方向键就是了
窗口
在Tmux中,窗口(Windows)是个窗格(paner)容器,你可以将多个窗格放置在窗口中,并根据你的实际需要在窗口中排列多个窗格,也是完全取决于你的需要。
- 新建一个窗口:
root@jack:~# Ctrl-b c
若是想要切换窗口只需要按下Ctrl-b然后再按下窗口对应的数字就可以切换了!
会话
一个 Tmux 会话中可以包含多个窗口。会话功能非常简单易用,例如可以为一个特定的项目创建一个专用的 Tmux 会话。若要创建一个新的会话,只需要在终端运行如下的命令:
tmux new <name-of-my-session>
在 Tmux 的会话间切换,若要获取现有会话的列表,可以按下Ctrl-b s,列表中的每个会话都有一个 ID,该 ID 是从 0 开始的。按下对应的 ID 就可以进入会话。如果你已经创建了一个或多个会话,但是还没有运行 Tmux,那么可以输入如下命令以接入已开启的会话。tmux attach
0x05 Tmux快捷键
快捷键前缀 | Ctrl+b | 激活控制台 |
---|---|---|
系统操作 | ? | 列出所有快捷键;按q返回 |
系统操作 | d | 脱离当前会话;这样可以暂时返回shell,输入tmux attach能够重新进入之前的会话 |
系统操作 | D | 选择要脱离的会话,在同时开启了多个会话时使用 |
系统操作 | Ctrl+z | 挂起当前会话 |
系统操作 | s | 选择并且切换会话,在同时开启了多个会话时使用 |
系统操作 | : | 进入命令行模式,此时可以输入支持的命令,比如kill-server |
系统操作 | [ | 进入复制模式,此时操作与vi相同,q/Esc退出 |
系统操作 | ~ | 列出提示信息缓存,其中包含了之前tmux返回的各种提示信息 |
--- | --- | --- |
窗口操作 | c | 创建一个新窗口 |
窗口操作 | & | 关闭当前窗口 |
窗口操作 | 数字 | 切换到指定窗口 |
窗口操作 | p | 切换到上一个窗口 |
窗口操作 | n | 切换到下一个窗口 |
窗口操作 | l | 在前后两个窗口间相互切换 |
窗口操作 | w | 通过窗口列表切换窗口 |
窗口操作 | ' | 重命名当前窗口,便于识别 |
窗口操作 | . | 修改当前窗口编号,相当于重新排序 |
窗口操作 | f | 在所有窗口中查找指定文本 |
--- | --- | --- |
面板操作 | " | 将当前面板分为上下两块 |
面板操作 | % | 将当前面板分为左右两块 |
面板操作 | x | 关闭当前面板 |
面板操作 | ! | 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板 |
面板操作 | Ctrl+方向建 | 以一个单元格为单位移动边缘以调整当前面板的大小 |
面板操作 | Alt+方向键 | 以五个单元格为单位移动边缘以调整当前面板大小 |
面板操作 | q | 显示面板标号 |
面板操作 | o | 在当前面板中选择下面板 |
面板操作 | 方向键 | 移动光标以选择面板 |
面板操作 | { | 向前置换当前面板 |
面板操作 | } | 向后置换当前面板 |