目录
1、什么是tmux
tmux来自于OpenBSD,采用BSD授权。使用它最直观的好处就是, 通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机, 还有一个好处就是当终端关闭后该shell里面运行的任务进程也会随之中断,通过使用tmux就能很容易的解决这个问题。
2、会话、窗口(window)、窗格(pane)的关系
会话有点像是tmux的服务,在后端运行,可以通过tmux命令创建这种服务,并且可以通过tmux命令查看,附加到后端运行的会话中。一个会话可以包含多个窗口,一个窗口可以被分割成多个窗格(pane)。
3、使用场景
- 关闭终端,再次打开原始终端,里面的任务进程依然不会终端;
- 处于异地的两人可以对同一会话进行操作,一方的操作另一方可以实时看到;
- 可以在单屏幕下开出很多终端,协作地使用它们;
4、操作总结
4.1 会话操作(session operation)
操作 | 命令/快捷键 | 说明 |
新建会话 | tmux new -s sessionName | sessionName:会话的名称 |
退出会话 | ctrl + b d | ctrl + b 为tmux快捷键的默认leader,d为detach的首字母,意为脱离。 |
查看会话列表 (终端环境) | tmux + ls | 会列出系统中所有tmux创建的会话,第一列为会话名,第二列为会话包含几个窗口。 |
查看会话列表 (会话环境) | ctrl + b s | 在会话环境中列出会话列表,并且可以使用方向键进行选择,然后按Enter键,进行切换不同的会话。 |
从终端环境进入会话 | tmux a -t sessionName | 其中 a 为 attach的首字母, -t为指定已经存在的会话 |
销毁会话 (会话环境) | step1) ctrl + b : step2)输入 kill-session -t sessionName | 先用ctrl +b : 打开输入面板,然后输入kill-session -t sessionName |
重命名会话 (终端环境) | tmux rename -t old_session_name new_session_name | 终端环境下重命名会话名 |
重命名会话 (会话环境) | ctrl + b $ | 在会话环境下,重命名当前会话,(注意,是会话,不是窗 |
4.2 窗口操作(window operation)
操作名 | 命令/快捷键 | 说明 |
创建window | ctrl + b c | 创建一个新的window,创建出来的窗口由 窗口序号+窗口名字 显示,其中 * 标识当前操作的窗口 |
重命名window | ctrl +b , | 为当前所在window重命名 |
切换window | ctrl + b n/p/w/0 | n(next):切换到下一个window;p(previous):切换到上一个window; 0(number):切换到0号窗口;w(windows):列出当前会话的所有的窗口,这时可以使用上下键进行切换。 |
关闭window | ctrl + b & | 关闭当前window,会提示是否要关闭,输入即可。 |
鼠标滚动历史输出 | ctrl + b [ | 默认下不能往上翻滚,使用 ctrl + b [ 即可往上翻了,退出使用 ctrl + c |
4.3 窗格操作(pane operation)
操作 | 命令/快捷键 | 说明 |
垂直分屏 | ctrl + b % | 把当前window垂直分为两个 |
水平分屏 | ctrl + | |
切换窗格 | ctrl + b Up/Down/Left/Right | 切换窗格 |
删除窗格 | ctrl + b x | 关闭当前使用的窗格,关闭之前会提示,输入y即可 |