tmux教程

简介

当你需要长期稳定在Linux(本文以Ubuntu为例)上运行SSH命令时,为了避免SSH连接中断造成的程序中断,需要使用tmux或者screen,笔者目前认为tmux更好用,所以本文将详细介绍tmux的使用方法。

tmux有三个概念:会话、窗口和面板,一个会话中可以存在多个窗口,一个窗口中可以存在多个面板,这种多级显示的方式可以让我们井然有序地在多种任务之间切换。

一、安装tmux

1
sudo apt-get install -y tmux

二、基本用法(会话操作)

当你只需要执行一个任务时,掌握好会话操作即可。

1、新建会话

在Shell中执行:

1
tmux new -s chason

其中chason可以改为自己需要的名字;新建会话后,即可在会话中执行自己的任务。

2、脱离会话

脱离会话快捷键:Ctrl+b d,意思是:先按Ctrl+b松手后再按d,脱离会话后就会返回之前的Shell界面。

执行tmux detach也可以脱离会话,但个人觉得用快捷键更方便快捷。

3、显示会话

在Shell中执行:

1
tmux ls

将显示当前存在的会话。

4、恢复会话

在Shell中执行:

1
tmux attach

或者简写:

1
tmux a

执行后就会进入上一次脱离的会话;另外,也可以直接恢复指定的会话:

1
tmux a -t chason

4、切换会话

在进入tmux会话之后,按快捷键Ctrl+b s即可直接显示当前存在会话,用上下方向键选择,回车即可切换到当前选择的会话。

5、关闭会话

关闭会话有几种方法:

  • 在会话中,如果只有一个窗口、一个面板,直接输入exit并回车,即可关闭当前会话。
  • 在会话中,如果有不止一个窗口或面板,按快捷键Ctrl+b :后,输入命令kill-session,即可关闭当前会话。
  • 在会话外的bash中,输入tmux kill-session -t chason,即可在tmux外关闭指定会话。

三、进阶用法(窗口、面板操作)

1、窗口操作

在基本用法中,新建一个会话默认只有一个窗口,实际上,在一个会话中可以创建多个窗口,从而实现更好的层级管理。

新建窗口

快捷键Ctrl+b c会在当前会话中新建一个窗口。

在下面绿色任务栏中可见两个bash,后面带*的是当前窗口,当前在窗口1(数字从0开始)。

切换窗口

Ctrl+b n切换下一个窗口,Ctrl+b p切换上一个窗口,头尾窗口之间会循环切换,切换窗口的时候*会随之移动指示当前在哪个窗口。

关闭窗口

在窗口中输入exit并回车即可关闭当前窗口,或使用快捷键Ctrl+b &,按下后会提示是否关闭窗口,输入y即可关闭当前窗口。

2、面板操作

默认一个窗口只有一个面板,当需要同时查看多个程序的内容时,可以把当前窗口分割成多个面板。

新建面板

Ctrl+b "将当前窗口平分为上下两块面板,Ctrl+b %将当前窗口平分为左右两块面板。

面板分割最大的好处就是可以同时查看不同命令的结果,比如左边调试代码,右边实时显示内存、CPU情况等。

读者可以按照自己的需求随意分割,设计自己喜欢的面板样式。

切换面板

Ctrl+b 方向键即可移动光标选择不同面板。

关闭面板

在面板中输入exit并回车即可关闭当前面板,或者使用快捷键Ctrl+b x,按下后会提示是否关闭面板,输入y即可关闭当前面板。

更多操作方法请参考如下常用快捷键

四、高阶用法(常用快捷键)

会话操作

Ctrl+b $ 修改会话名字

Ctrl+b d 脱离当前会话,返回Shell界面,输入tmux a能够重新进入之前的会话

Ctrl+b s 选择并切换会话,在创建了多个会话时使用

Ctrl+b [ 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出

Ctrl+b ? 列出所有快捷键,按q返回

窗口操作

Ctrl+b c 在会话中新建窗口

Ctrl+b n 切换下一个窗口

Ctrl+b p 切换上一个窗口

Ctrl+b l 在前后两个窗口间互相切换

Ctrl+b 数字键 切换至指定窗口

Ctrl+b w 通过窗口列表切换窗口

Ctrl+b , 修改窗口名字

Ctrl+b . 修改当前窗口编号;相当于窗口重新排序

Ctrl+b & 关闭当前窗口

Ctrl+b f 在所有窗口中查找指定文本

面板操作

Ctrl+b " 将当前窗口平分为上下两块面板

Ctrl+b % 将当前窗口平分为左右两块面板

Ctrl+b x 关闭当前面板

Ctrl+b ! 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板

Ctrl+b q 显示面板编号

Ctrl+b o 在当前窗口中选择下一面板

Ctrl+b 方向键 移动光标以选择面板

Ctrl+b { 向前置换当前面板

Ctrl+b } 向后置换当前面板

Ctrl+b Alt+o 逆时针旋转当前窗口的面板

Ctrl+b Ctrl+o 顺时针旋转当前窗口的面板

Ctrl+b Space 在预置的面板布局中循环切换,依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled

您的支持将鼓励我继续创作!