前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tmux 使用小记

Tmux 使用小记

作者头像
fliter
发布2024-01-09 15:26:37
1730
发布2024-01-09 15:26:37
举报
文章被收录于专栏:旅途散记旅途散记

本文参考自 阮一峰老师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 用于重新接入某个已存在的会话

代码语言:javascript
复制
# 使用会话编号
$ tmux attach -t 0

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

杀死会话

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

代码语言:javascript
复制
# 使用会话编号
$ tmux kill-session -t 0

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

切换会话

tmux switch 用于切换会话

代码语言:javascript
复制
# 使用会话编号
$ tmux switch -t 0

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

重命名会话

tmux rename-session用于重命名会话

代码语言:javascript
复制
tmux rename-session -t 0 <new-name>

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

会话快捷键

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

代码语言:javascript
复制
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。

窗格操作 & 窗口管理

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

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

代码语言:javascript
复制
tmux
ctrl+b
%

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

更多命令:

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

其实Mac上iTerm2或者终端的分屏&窗口管理快捷键差不多够用了,所以我觉得会话管理,才是Tmux的核心能力

对于iTerm2:

- ⌘ + d : 垂直分屏

- ⌘ + shift + d : 水平分屏

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

而对于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/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 旅途散记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 会话管理
    • 新建会话
      • 分离会话
        • 接入会话
          • 杀死会话
            • 切换会话
              • 重命名会话
                • 会话快捷键
                • 窗格操作 & 窗口管理
                  • 参考资料
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档