我记不住的那些tmux命令

背景:最近在重新学习Linux,看到了一款生产力工具tmux,也大部分是命令操作或组合键操作,我感觉命令行的命令太多了,真心记不住了,本篇算是一个记录,留作日后查看。

1. tmux到底是啥,解决了什么问题

tmux是一个终端复用器,是terminal multiplexer的缩写,解决了一边看top,另外一边看代码解决问题等,主要是针对 session和window的管理来实现复用,整体有点类似 io中的 "多路复用" epoll 和 通信中的“频分复用”,都是通过某一个东西控制多个物体。

2. 概念

tmux里面有三个概念,分别是 session(会话)、window(窗口)、pane(窗格或面板)。

首先在session和window,是一对多关系,也就是说一个会话可以有多个窗口,但至少会有一个窗口, 通过组合键进行 窗口间切换

最后说 window和panel,是 一对多的关系,也就是说一个窗口可以有多个窗格,但至少有一个窗格。

总体来说,一个session可以有m个window,同时一个window又可以有n个pane,所以一个session可以等于 m x n 个 pane,你可以在这么多pane里面输入指令。

3. 前缀键

ctrl+b  注意是ctrl 和 b键需要同时按,然后同时放开,再根据需求选择相关的键。

例如:你要新建一个 window,  ctrl+b 然后按 c 即可

4. 使用和应用场景

客户端: Linux或Windows

服务器: Linux

如果你想通过在服务器Linux上执行多个任务,即使网络掉线等也不会中断执行。

在客户端上执行ssh登陆:

>   ssh  [email protected]

登陆成功后需要在服务器上安装tmux,后需一切操作在服务器上完成

#  apt install tmux  或  # yum install tmux

此时我完成了一系列的准备工作,下面就可以阐述一下如何使用tmux。

4.1 对window窗口和pane窗格的操作

# tmux       // 进入了tmux,并默认创建了一个session和window,默认为 0 号

Ctrl+b  c    // 即可创建一个新窗口1号且默认与上面新建的session关联,并切换到这个新窗口1中,create

Ctrl+b  p         // 切换到上一个窗口,previous

Ctrl+b  n         // 切换到下一个窗口, next

Ctrl+b  num    // 切换到num号窗口,其中num为窗口编号

Ctrl+b  %        //  将一个窗口或pane垂直切分为两个pane

Ctrl+b   "         //  将一个窗口或pane水平切分为两个pane

Ctrl+b  上下左右键 // 在当前这个窗口中的 各个pane进行切换

Ctrl+b  Ctrl+上下左右键        // 改变当前这个pane的显示大小

Ctrl+b  z          // 将当前的pane最大化,或将pane最大化切换回原来大小

Ctrl+b  x          // 关闭当前光标所在的那个pane

Ctrl+b  ,           // 将窗口重命名,重要

Ctrl+b  q          // 显示窗格的编号

Ctrl+b   !        // 将当前的窗格独立为一个窗口

4.2 对session会话的操作

session的增删改查

在原始的命令行中,即 底部没有tmux状态栏的命令行:

# tmux                                          // 将会创建一个 数字 的 session

# tmux  new -s  sessionName      //  将会创建一个 文字式的 session

注意:创建session需要在原始命令行中进行创建,不能在某个session的某个窗口中进行新建session,会提示错误

# tmux ls                                       // 查看当前所有的session, 可以在tmux中运行

# tmux rename-session -t  num   newSessionName   // 重命名某个session,可以在tmux中运行

其中 num代表的是session号,newSessionName是更改后的session名称

Ctrl+b  $                                         // 也是重命名当前的session

Ctrl+b  d                                         // 将当前的session与各个window分离,退回到原始的命令行中

# tmux attach -t  0                          // 将与 session 0 进行连接,仅能在原始命令行运行

# tmux  kill-session -t num             //  将session num的session进行删除操作

# tmux switch -t  num                     // 将当前session切换到 session num这个session中,可以在tmux中运行

Ctrl+b  s                                          // 这个命令用于选择各个session,非常棒的视图可以看到

Ctrl+b   w                                         //  这个命令用于选择各个session各个窗口各个窗格,非常棒的视图可以看到

注意:我用tmux的时候犯了一个错误,这个错误是:我的客户端也是一个Linux,直接打开终端并输入tmux然后进行ssh连接远程服务器,当进行Ctrl+b c后发现还是本地的客户端,而不是远程主机的另外一个窗口。 正确的方法是 先进行登陆远程服务器,在服务器上安装tmux,然后再进行一些列操作。

你可能感兴趣的:(Linux,tmux)