How to use Tmux

快捷查询目录

命令行会话

tmux的作用

tmux的使用

窗口管理

窗格管理

其他常用功能

整个解决方案由三个tmux插件组成。

tpm:tmux plugin manager:

tmux-resurrect:

tmux-continuum:

保存和恢复

保存

恢复

细化:窗格

Write By ZeQ


命令行会话

命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。

当使用远程连接工具(如 iTerm、putty、XShell、SecureCRT 等),SSH 登录远程计算机,打开一个远程窗口执行命令。有时候想要执行一个非常耗时,或者短时间不会结束的进程时,想在空闲的时间,比如晚上,让它执行,不影响正常工作,但是正常通过ssh启动的进程都是ssh进程的子进程,如果ssh断开,ssh进程就会被系统kill,与此同时所有通过ssh启动的进程也都会被killed。

为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口

tmux的作用

tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。

ssh远程到服务器后,执行一个费时的操作,断开ssh后任务可以继续执行,不会中断 ssh到远程服务器,可以分屏,可以多任务(会话),可以多窗口 类似的终端复用器还有 GNU Screen。Tmux 与它功能相似,但是更易用,也更强大。

tmux的使用

tmux中有3种概念,会话(session),窗口(window),窗格(pane)。tmux的会话和普通shell的会话类似,可以创建多个。一个会话可以包含多个窗口,一个窗口可以被分割成多个窗格。

tmux的命令有一个前缀ctrl + b,需要先按下这两个键放开后再按特定键执行特定指令。

创建会话 命令:tmux new -s 会话名称

执行命令之后进入该会话,会自动创建一个窗口,如下图:

退出会话

命令:ctrl + b d 字母d是detach的缩写

执行命令之后回到shell终端环境,但是tmux的会话还在后台运行。tmux依然在运行

从终端环境进入会话

使用会话名接入命令:tmux a -t

会话名使用session编号接入:tmux attach -t 编号

其中a字母是attach的头字母,表示附加,-t 指定要进入已存在的会话名,如果不存在则会报告 session not found 错误。

查看会话列表

shell终端环境查看会话命令:tmux ls

tmux会话环境查看会话列表:ctrl + b s

如果有多个会话,可以通过方向键选择会话并回车,在会话间进行切换。

销毁会话

在终端环境中命令:tmux kill-session -t 会话名 也可以使用会话编号

在会话环境中运行 ctrl+b :(注意按组合键之后再按一个冒号键),状态栏变成黄色之后提示我们可以在会话环境中输入命令,此时

输入 kill-session -t session 回车即可。

重命名会话

在终端环境中命令:tmux rename -t old_session_name new_session_name

在tmux会话中命令:ctrl + b $

窗口管理

一个tmux的会话中可以有多个窗口。

修改当前窗口的名字:crtl+b

创建新的窗口:ctrl+b c

切换窗口:

ctrl+b p (previous的首字母) 切换到上一个window。
ctrl+b n (next的首字母) 切换到下一个window。
ctrl+b 0 切换到0号window,依次类推,可换成任意窗口序号
ctrl+b w (windows的首字母) 列出当前session所有window,通过上、下键切换窗口
ctrl+b l (字母L的小写)相邻的window切换
关闭当前窗口:ctrl+b &
窗格管理

tmux的一个窗口可以被分成多个pane(窗格),可以做出分屏的效果。

ctrl+b x 关闭当前使用中的pane,操作之后会给出是否关闭的提示,按y确认即关闭。

常用窗格命令:

ctrl+b %:划分左右两个窗格。

ctrl+b ":划分上下两个窗格。

ctrl+b ;:光标切换到上一个窗格。

ctrl+b o 依次切换当前窗口下的各个pane。

ctrl+b Up|Down|Left|Right根据按箭方向选择切换到某个pane。

ctrl+b Space (空格键) 对当前窗口下的所有pane重新排列布局,每按一次,换一种样式。

ctrl+b z 最大化当前pane。再按一次后恢复。

ctrl+b !:关闭其他窗格,只有一个独立窗口。

其他命令:

ctrl+b {:当前窗格与上一个窗格交换位置。

ctrl+b }:当前窗格与下一个窗格交换位置。

ctrl+b Ctrl+o:所有窗格向前移动一个位置,第一个窗格变成最后一个窗格。

ctrl+b Alt+o:所有窗格向后移动一个位置,最后一个窗格变成第一个窗格。

ctrl+b z:当前窗格全屏显示,再使用一次会变回原来大小。

ctrl+b ctrl+:按箭头方向调整窗格大小。

ctrl+b q:显示窗格编号。

其他常用功能

同步窗格 这样可以将输入的命令在本窗口的多个窗格同时执行。 快捷键ctrl+b : 呼出命令提示行,然后输入

:setw synchronize-panes (支持tap补全)

这个选项值针对某个窗口有效,不会影响别的会话和窗口。 完事儿之后再次执行命令来关闭。

文本复制模式

快捷键ctrl+b [,即进入文本复制模式,可以像使用vim一样对文本复制,可通过键盘上的上下左右键来滚动查看历史输出信息。

如果要退出查看模式,按下q/esc即可。

ctrl+b ? 列出所有快捷键

整个解决方案由三个tmux插件组成。

需要注意的是,使用这两个 Tmux 插件要求 Tmux 是 1.9 及以上版本,如果不符合要求,赶紧升级吧, 可以参考:tmux安装最新版本

tpm:tmux plugin manager:

这个是用来管理tmux插件的。有了它之后,就可以很轻松地安装和写在tmux插件。

tmux-resurrect:

这个是主角,提供了保存tmux会话到磁盘,以及从磁盘上加载保存的会话的功能。但是只能在需要的时候手动操作。

tmux-continuum:

提供了定时保存,自动加载,以及开机设置自动启动tmux的功能。需要tmux-resurrect来完成具体的工作。 安装及配置 安装很简单,只需要

git clone GitHub - tmux-plugins/tpm: Tmux Plugin Manager ~/.tmux/plugins/tpm 然后,在~/.tmux.conf中配置:

set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'tmux-plugins/tmux-continuum'

set -g @continuum-save-interval '15' set -g @continuum-restore 'on' set -g @resurrect-capture-pane-contents 'on'

run -b '~/.tmux/plugins/tpm/tpm'

然后需要在shell中运行

tmux source ~/.tmux.conf

使用 安装插件 然后就可以在Tmux中使用快捷prefix + I(注意这里的I是大写)安装配置文件.tmux.conf中定义的插件了。

prefix (主操作按键:默认为ctrl + b)

保存和恢复
保存
prefix + Ctrl-s

要保存 Tmux 会话,我们只要按 前缀键 + Ctrl-s 就可以了。此时,Tmux 状态栏会显示“Saving …”字样,完毕后会提示 Tmux 环境已保存。

Tmux Resurrect 会将 Tmux 会话的详细信息以文本文件形式保存到 ~/.tmux/resurrect 目录。

恢复
prefix(ctrl + b) + Ctrl-r

平常重启电脑后,首先在终端打开Tmux,然后使用prefix + Ctrl-r就可以恢复保存的Session了,如果有多个Session可以使用prefix + s来选择Session。

在 tmux 中,你可以通过创建多个窗格(panes)在一个窗口中运行多个会话。以下是一些常用的 tmux 窗格管理命令:

细化:窗格
  1. 创建窗格

    • 水平分割窗口:Ctrl-b %

    • 垂直分割窗口:Ctrl-b "

  2. 切换窗格

    • 切换到下一个窗格:Ctrl-b o

    • 切换到特定的窗格:Ctrl-b q,然后输入窗格的索引号。

  3. 调整窗格大小

    • 调整当前窗格为更大的尺寸:Ctrl-b z

    • 手动调整窗格大小:Ctrl-b :,然后输入 resize-pane -D (向上移动), -U (向下移动), -L (向左移动), -R (向右移动)。

  4. 关闭窗格

    关闭当前窗格:Ctrl-b x
  5. 更改窗格布局

    按照预设的几种布局方式切换:Ctrl-b 空格键
  6. 交换窗格

    交换两个窗格的位置:Ctrl-b {Ctrl-b }

Write By ZeQ

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YOLOKY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值