下 终端_Linux下终端复用神器 ——tmux

“ 很久之前学习tmux的一篇笔记

前言

tmux与命令行软件如Item2,cmder略有不同。当我们连接ssh连接远程服务器,进行一些git上传或编译操作时,如果ssh突然中断,那么造成的损失就是一切又要重头来做。笔者曾经的解决方案是将任务用nohup放在后台,输出的信息放到日志文件去。这样做带来的问题是之前终端信息丢失,而tmux刚可以解决这个痛点,一旦你建立一个session,并在里面进行工作,这个session永远不会推出,就算与服务器断网这个session会完好保存。当然,tmux所能完成的工作远不止这些。

tmux可以在不同命令行中启动,有必要对tmux的前缀键进行解释。所谓前缀键,就是按了这种键组合,才表示选择了tmux,之后的键对应一种功能。tmux中预先定义前缀键为Ctrl+B,我们这里用<prefix>表示。比如<prefix> %表示先按Ctrl,再按B键,再%键,其完成的功能就是竖直分屏。

基础概念

tmux 中有三个重要概念:

  • 会话(session): 建立一个 tmux 工作区会话,会话可以长期驻留,重新连接服务器不会丢失,我们只需重新 tmux attach 到之前的工作区就可以恢复会话
  • 窗口(window): 容纳多个窗格
  • 窗格(pane): 可以在窗口中分成多个窗格

6e5ddefb6487a694121e20df5c4c3e48.png
img

会话管理

新建会话

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

使用编号区分会话,不太直观,更好的方法是为会话起名。

$ tmux new -s <session-name>

上面命令新建一个指定名称的会话。

分离会话

在 Tmux 窗口中,按下<prefix> d或者输入tmux detach命令,就会将当前会话与窗口分离。

$ tmux detach

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

tmux ls命令可以查看当前所有的 Tmux 会话。

$ tmux ls
# or
$ tmux list-session

接入会话

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

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

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

杀死会话

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

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

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

切换会话

tmux switch命令用于切换会话。

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

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

重命名会话

tmux rename-session命令用于重命名会话。

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

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

会话快捷键

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

  • <prefix> d:分离当前会话。
  • <prefix> s:列出所有会话。
  • <prefix> $:重命名当前会话。

窗格管理

窗格(pane)快捷键

  • <prefix> %:划分左右两个窗格。
  • <prefix> ":划分上下两个窗格。
  • <prefix>:光标切换到其他窗格。``是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键
  • <prefix> ;:光标切换到上一个窗格。
  • <prefix> o:光标切换到下一个窗格。
  • <prefix> {:当前窗格左移。
  • <prefix> }:当前窗格右移。
  • <prefix> Ctrl+o:当前窗格上移。
  • <prefix> Alt+o:当前窗格下移。
  • <prefix> x:关闭当前窗格。
  • <prefix> !:将当前窗格拆分为一个独立窗口。
  • <prefix> z:当前窗格全屏显示,再使用一次会变回原来大小。
  • <prefix> Ctrl+:按箭头方向调整窗格大小。
  • <prefix> q:显示窗格编号。

窗口(window)快捷键

  • <prefix> c:创建一个新窗口,状态栏会显示多个窗口的信息。
  • <prefix> p:切换到上一个窗口(按照状态栏上的顺序)。
  • <prefix> n:切换到下一个窗口。
  • <prefix>:切换到指定编号的窗口,其中的``是状态栏上的窗口编号。
  • <prefix> w:从列表中选择窗口。
  • <prefix> ,:窗口重命名。

常用技巧

翻屏

  • 进入tmux翻屏模式:先按ctrl +b,松开,然后再按[
  • 操作同vim:jkhl上下左右

最简操作

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

参考资料

[ 1 ] A Quick and Easy Guide to tmux https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/

[ 2 ] 阮一峰大神写的tmux使用博客http://www.ruanyifeng.com/blog/2019/10/tmux.html

[ 3 ] 手把手教你使用终端复用神器 Tmux,丢掉鼠标不是梦[视频]https://zhuanlan.zhihu.com/p/43687973

[ 4 ] cheatsheet参考 https://gist.github.com/MohamedAlaa/2961058

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值