目录
1.前言
本文为个人笔记,内容均来自互联网。
Tmux是一个终端管理工具,英文名(terminal multiplexer)终端复用器。在下文中我将大略的介绍他的一些基础知识和命令。本文起因是因为要使用Linux桌面版,发现了这个工具。其实我是一个不太喜欢用鼠标的人,在平时的使用中都习惯使用键盘快捷键,主要是方便和快捷。
2.Tmux简介
2.1 会话与进程
使用Linux系统的都经常是打开一个“terminal window”,打开一个终端窗口,与WindowsOS不同的是对鼠标的依赖仿佛不是那么强。在“terminal window”里输入命令,在用户与计算机通过终端窗口实现的临时交互,就是一次会话(session)。
那么在这次会话中产生的进程是绑定的,好比开始学Linux的时候我总是在不同的窗口里按“↑”键找寻刚刚输入的命令,其实你发现不同的窗口记录的输入的命令也不一样。那么关闭一个窗口,就相当于结束了用于与计算机的一次会话,你通过这次会话开启的服务也将丢失。
有很多的大佬就想我想有一个将进程与窗口解绑,由我统一管理的应用。于是就有了Tmux。
2.2 Tmux的作用
Tmux就是将会话单独管理的工具。
1.它允许在单个窗口同时开启多个会话。你可以同时运行多个命令程序。
2.可以在不同的窗口切换任意会话,前提是这个会话已存在。
3.允许共享会话。
4.可以在屏幕设置窗口的分布情况。
3.用法总结
3.1 安装
本人是在kali的环境中使用它,相信其他环境应该是类似的。
$sudo apt-get install tmux # 安装
3.2 开启
使用tmux命令开启tmux窗口,在开启的窗口底部会发现跟平时的窗口有一些不一样,会有一个状态栏,左侧是窗口信息,右侧是系统信息。这就表示你的窗口已经不再是一个普通的窗口了。
如果要退出可以使用快捷键CTRL+d或者输入exit命令,就表示退出了Tmux窗口。
3.3 前缀键
什么叫前缀键呢?就是一个组合键,但是需要先按下它,在配合其他键完成整个执行的命令。Tmux快捷键是真的多,默认的前缀键是CTRL+b,就是要先按CTRL+b再按其他的键快捷键才会生效。
4.窗口管理
4.1 新建会话
$tmux new -s <session-name>
# 使用该命令会新建一个会话窗口,使用编号或者去一个响亮的名字
4.2 分离会话
在tmux窗口中使用快捷键ctrl+b d或者输入tmux detach命令,就会将当前会话与窗口分离。可以开启的会话和进程一九存在,使用命令可以查看会话。
tmux ls
tmux list-session
4.3接入会话
在我们查看依旧存活的会话后可使用命令重新连接对应的会话。
tmux attach -t 0 # 使用编号连接
tmux attch -t <session-name> # 使用会话名字连接
4.4杀死会话
在我们不需要某个会话的时候,可以使用命令杀死某个会话。
tmux kill-session -t 0 #杀死进程
tmux kill-session -t <session-name>
4.5 切换会话
在我们需要切换会话的时候,使用命令切换会话。但是在这里需要注意的是,我们要知道那些会话是正在被人使用,查看会话状态。通过会话最后跟的(attached)判断哪一个会话正在使用,根据左下角可以判断出当前使用的哪一个会话。
在我们通过上面的学习知道了存活的会话和使用窗口的会话,以及那些会话是在被使用。接下来就是切换会话,依旧是使用命令进行切换。
tmux switch -t 0 # 切换会话编号
tmux switch -t <session-name> # 切换会话名称
4.6 重命名会话
使用命令
$tmux rename-session -t 0 <new-name>
5. 部分快捷键的使用
下面将枚举一些常用的快捷键。
ctrl + b d # 分离当前会话
ctrl + b s # 列出所有会话
ctrl + b $ # 重命名当前会话
6. 窗口操作
tmux 可以划分多个窗格(pane),每个窗格运行不同的命令。 要控制窗格那一下出现的命令都是在窗格中执行的。
6.1 划分窗格
使用命令来划分窗格。
tmux split-window # 划分上下两个窗格
tmux split-window -h # 划分左右两个窗格
6.2 光标移动
同样是使用命令
tmux select-pane -U # 向上
tmux select-pane -D # 向下
tmux select-pane -L # 向左
tmux select-pane -R # 向右
交换窗格位置
tmux swap-pane -U # 当前窗格前移
tmux swap-pane -D # 当前窗格后移
6.3 窗格快捷键
Ctrl+b %:划分左右两个窗格
Ctrl+b ":划分上下两个窗格。
Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。
Ctrl+b ;:光标切换到上一个窗格。
Ctrl+b o:光标切换到下一个窗格。
Ctrl+b {:当前窗格与上一个窗格交换位置。
Ctrl+b }:当前窗格与下一个窗格交换位置。
Ctrl+b Ctrl+o:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。
Ctrl+b Alt+o:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。
Ctrl+b x:关闭当前窗格。
Ctrl+b !:将当前窗格拆分为一个独立窗口。
Ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。
Ctrl+b Ctrl+<arrow key>:按箭头方向调整窗格大小。
Ctrl+b q:显示窗格编号。
7. 本文参考
https://linuxize.com/post/getting-started-with-tmux/
https://danielmiessler.com/study/tmux/
https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/