Tmux 使用小记


本文参考自 阮一峰老师Tmux 使用教程[1]

Tmux,不仅仅是分屏那么简单。。。

与tmux类似的工具是screen


会话管理


将窗口与会话"解绑" 对于没有图形界面只有shell的场景(如服务器),尤其有用..这是其最核心解决的问题(窗口管理啥的只能算锦上添花的辅助功能)

即便是窗口关了,ssh断了,只要不重启机器, 不结束tmux进程,“会话中的任务”就一直还在 (不然之前这种case,只能用nohup,但用nohup无法恢复会话了~)


新建会话


第一个启动的 Tmux 窗口,编号是0,第二个窗口的编号是1,以此类推。这些窗口对应的会话,就是 0 号会话、1 号会话。

使用编号区分会话时间一长就忘了,无法直观获悉0号,1号都对应啥内容。更好的方法是为会话起自定义的名称

tmux new -s 自定义的会话名称


分离会话


Ctrl+b dtmux detach

会退出当前 Tmux 窗口,但是会话和里面的进程仍然在后台运行

tmux ls 可查看当前所有的 Tmux 会话


接入会话


tmux attach 用于重新接入某个已存在的会话

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

#
 使用会话名称
$ tmux attach -t 自定义的会话名称`

杀死会话


tmux kill-session 用于杀死某个会话

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

#
 使用会话名称
$ tmux kill-session -t 自定义的会话名称`

切换会话


tmux switch 用于切换会话

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

#
 使用会话名称
$ tmux switch -t 自定义的会话名称

重命名会话


tmux rename-session用于重命名会话

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

上面命令将0号会话重命名


会话快捷键


下面是一些会话相关的快捷键

Ctrl+b d:分离当前会话。
Ctrl+b s:列出所有会话。
Ctrl+b $:重命名当前会话。

即最简的使用步骤:

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



窗格操作 & 窗口管理


这个用处没那么大,不过比较容易弄得很酷炫

例如,对于tmux,可以通过执行

tmux
ctrl+b
%

实现竖直分屏(ctrl+b将tmux激活为"快捷键接受模式")

alt

更多命令:

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:显示窗格编号。
Ctrl+b c:创建一个新窗口,状态栏会显示多个窗口的信息。
Ctrl+b p:切换到上一个窗口(按照状态栏上的顺序)。
Ctrl+b n:切换到下一个窗口。
Ctrl+b <number>:切换到指定编号的窗口,其中的<number>是状态栏上的窗口编号。
Ctrl+b w:从列表中选择窗口。
Ctrl+b ,:窗口重命名。

其实Mac上iTerm2或者终端的分屏&窗口管理快捷键差不多够用了

对于iterm2:

​ - ​⌘ + d​ ​: 垂直分屏

​ - ​⌘ + shift + d​ ​: 水平分屏

​ - ​⌘ + ]​ ​​和​ ​⌘ + [​ ​在最近使用的分屏直接切换

alt

而对于Mac自带的终端:

  • command+w:关闭标签
  • command+t:新建标签
  • command+数字或command+左右方向键:切换标签
  • command+enter:切换全屏
  • command+f:查找
  • command+d:垂直分屏
  • command+shift+d:水平分屏
  • command+option+方向键:切换屏幕
  • ctrl+u:清除当前行
  • ctrl+a:到行首
  • ctrl+e:到行尾
  • ctrl+w:从光标位置删除至开始
  • ctrl+k:从光标位置删除至末尾


参考资料:

tmux cheatsheat[2]

参考资料

[1]

Tmux 使用教程: http://www.ruanyifeng.com/blog/2019/10/tmux.html

[2]

tmux cheatsheat: https://blog.freecloud.dev/2023/05/03/tmux-cheatsheet/

本文由 mdnice 多平台发布

相关推荐

  1. Tmux 命令使用

    2024-01-09 02:34:01       55 阅读
  2. Ubuntu服务器上使用tmux

    2024-01-09 02:34:01       52 阅读
  3. win10 使用wezterm替代tmux

    2024-01-09 02:34:01       50 阅读
  4. Mybatis-Plus使用小记

    2024-01-09 02:34:01       63 阅读
  5. Linux 使用小记

    2024-01-09 02:34:01       67 阅读
  6. Redis 使用小记

    2024-01-09 02:34:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-09 02:34:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-09 02:34:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-09 02:34:01       87 阅读
  4. Python语言-面向对象

    2024-01-09 02:34:01       96 阅读

热门阅读

  1. C++指南——拷贝构造函数和赋值运算符重载

    2024-01-09 02:34:01       47 阅读
  2. fabric学习

    2024-01-09 02:34:01       60 阅读
  3. Android 13 - Media框架(21)- ACodec(三)

    2024-01-09 02:34:01       55 阅读
  4. 2023年终总结

    2024-01-09 02:34:01       62 阅读
  5. 统计素数并求和

    2024-01-09 02:34:01       51 阅读
  6. Kibana相关问题及答案(2024)

    2024-01-09 02:34:01       49 阅读
  7. 面试经典题---151.反转字符串中的单词

    2024-01-09 02:34:01       55 阅读
  8. Logstash相关问题及答案(2024)

    2024-01-09 02:34:01       52 阅读
  9. det_keypoint_unite的C++部署(jetson)

    2024-01-09 02:34:01       54 阅读