Tmux

0.Tmux简介

1.安装tmux

windows可以打开​​MobaXterm​​,输入以下命令行安装即可。

apt install tmux

Tmux基本操作_tmux

# Ubuntu 或 Debian
$ sudo apt-get install tmux

# CentOS 或 Fedora
$ sudo yum install tmux

# Mac
$ brew install tmux

2.tmux最简操作流程

  1. 新建会话​​tmux new -s my_session​​。
  2. 在 Tmux 窗口运行所需的程序。
  3. 按下快捷键​​Ctrl+b d​​将会话分离。
  4. 下次使用时,重新连接到会话​​tmux attach-session -t my_session​​。

3.tmux会话(session)相关操作

启动会话——tmux

  • 方法一:输入​​tmux​​,进入tmux窗口,即新建了一个【会话】;底部有一个状态栏;状态栏的左侧是窗口信息(编号和名称),该会话编号是4,右侧是系统信息。

Tmux基本操作_linux_02

  • 方法二:新建会话,给会话【起名字】,即新建一个指定名称的会话:

​tmux new -s <session-name>​

举例:

输入​​tmux new -s try​

Tmux基本操作_tmux_03

进入try会话:

Tmux基本操作_tmux_04

退出会话——exit

快捷键:ctrl+D

​exit​

Tmux基本操作_tmux_05

注意:没有分离会话,退出就直接结束了!

分离会话——tmux detach

快捷键:Ctrl+b+d

输入​​tmux detach​​命令

执行上述操作后,便退出当前Tmux窗口,但是会话和里面的进程仍然在后台运行。

Tmux基本操作_tmux_06

查看所有会话——tmux ls

快捷键:ctrl+b+s

输入​​tmux ls​​​ or ​​tmux list-session​

输入以后显示当前所有的会话。

Tmux基本操作_tmux_07

接入会话——tmux attach -t

# 使用会话编号
$ tmux attach -t 0

# 使用会话名称
$ tmux attach -t <session-name>

输入​​tmux attach -t try​​,进入try会话。

Tmux基本操作_linux_08

Tmux基本操作_linux_09

杀死会话——tmux kill-session -t

# 使用会话编号
$ tmux kill-session -t 0

# 使用会话名称
$ tmux kill-session -t <session-name>

输入杀死命令:

Tmux基本操作_linux_10

查看现在所有的会话:

Tmux基本操作_tmux_11

发现并不存在try会话,说明已经被杀死啦。

切换会话——tmux switch -t

# 使用会话编号
$ tmux switch -t 0

# 使用会话名称
$ tmux switch -t <session-name>

比如当前处于try会话中,使用该命令​​tmux switch -t dl_kitti​​,直接attach到dl_kitti会话中了。

重命名会话——tmux rename-session -t

快捷键:Ctrl+b+$重命名【当前】会话

Tmux基本操作_tmux_12

即可改名。

tmux rename-session -t 0 <new-name>

将0号会话重命名。

将try重命名为try1:

Tmux基本操作_linux_13


4.tmux窗格(pane)相关操作

Tmux 可以将窗口分成多个窗格(pane),每个窗格运行不同的命令。

划分窗格

快捷键:ctrl+b+%  or ctrl+b+"

# 划分上下两个窗格——【快捷键】——ctrl+b+%
$ tmux split-window

# 划分左右两个窗格——【快捷键】——ctrl+b+"
$ tmux split-window -h

Tmux基本操作_linux_14

移动窗格【光标】位置——tmux select-pane

快捷键:ctrl+b+<arrow key>

<arrow key>是方向键,上下左右。

当然使用快捷键啦,很简单的。看看命令多复杂。

# 光标切换到上方窗格
$ tmux select-pane -U

# 光标切换到下方窗格
$ tmux select-pane -D

# 光标切换到左边窗格
$ tmux select-pane -L

# 光标切换到右边窗格
$ tmux select-pane -R

交换窗格位置——tmux swap-pane

快捷键:ctrl+b+{ 当前窗格与上一个交换 or ctrl+b+} 当前窗格与下一个交换

# 当前窗格上移
$ tmux swap-pane -U

# 当前窗格下移
$ tmux swap-pane -D

关闭当前窗格——ctrl+b+x/ctrl+d也可以

其他窗格快捷键命令总结

  • ​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​​:显示窗格编号。

5.tmux窗口(window)相关操作

tmux也可以新建多个窗口(window)进行任务。

新建窗口——ctrl+b+c

$ tmux new-window
# 新建一个指定名称的窗口
$ tmux new-window -n <window-name>

切换窗口——ctrl+b+w

快捷键:

  • ​ctrl+b p​​:切换到上一个窗口(按照状态栏上的顺序)。
  • ​ctrl+b n​​:切换到下一个窗口。
  • ​ctrl+b <number>​​​:切换到指定编号的窗口,其中的​​<number>​​是状态栏上的窗口编号。
  • Ctrl+b w:从列表中选择窗口。!!!好用

# 切换到指定编号的窗口
$ tmux select-window -t <window-number>

# 切换到指定名称的窗口
$ tmux select-window -t <window-name>

重命名窗口——​​ctrl+b+,​

快捷键:​ctrl+b+,​

$ tmux rename-window <new-name>

关闭窗口——ctrl+d

tmux复制粘贴

  • 复制——不用设置,MobaXTerm 里面选取内容就已经复制了
  • 粘贴——可以修改成常用的

粘贴设置具体步骤:

Tmux基本操作_tmux_15

Tmux基本操作_tmux_16


用tmux时遇到的【问题】

遇到了一个讨厌的问题,很久都没解决,呜呜呜。

待解决

问题如下(Permission denied):

Tmux基本操作_linux_17

解决方法:

其他的,我没有成功。???待解决

Tmux基本操作_tmux_18

参考文章

​Tmux 使用教程——阮一峰​

​Tmux教程 (一文就够)​

​Tmux 使用教程——矩池云​