返回顶部
首页 > 资讯 > 精选 >如何进行多屏批量shell命令发送
  • 624
分享到

如何进行多屏批量shell命令发送

2023-06-16 13:06:09 624人浏览 薄情痞子
摘要

这篇文章给大家介绍如何进行多屏批量shell命令发送,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。WEB系统常见的开发流程:日常->预发->线上日常上通常只有一台机器用来集成,所有人的开发分支会在这上面做合

这篇文章给大家介绍如何进行多屏批量shell命令发送,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

WEB系统常见的开发流程:

日常->预发->线上

日常上通常只有一台机器用来集成,所有人的开发分支会在这上面做合并部署。

当一个应用有很多人在上面开发,并被很多应用依赖时,会有个问题。开发在日常环境UI上测试的成功都依赖这个应用提供的服务,但频繁的发布造成短暂中断会阻塞流程。

为了不让单点集成机阻塞,考虑设置两台日常机器按正式分批发布形式保证日常环境每时每刻必会有一台机器在提供服务。这样的解决方式有个问题,原来debug看日志只需要关心一台机,登上去就好,现在变成了两台机。

app-|--> vm No.1 -> log      \--> vm No.2 -> log

这个问题还会继续膨胀,如果是单元化应用,单元也会有机器,按照以上方式又要乘2,  那么就变成了共4台,看到了吗?这时就头痛了,一条UI上测试的点击,到底会落在哪台机器呢?

app -  |-中心-| --> vm No.1 -> log        |      \--> vm No.2 -> log        |-单元-| --> vm No.3 -> log               \--> vm No.4 -> log

我们先想个简单的方式解决这个问题,tmux作为一款linux的多屏工具,最早见到这款工具还是在一位用HHKB的哥们那。

tmux基本概念

以下引用Http://cenalulu.GitHub.io/lin... 上的图:

如何进行多屏批量shell命令发送

session: 会话,我们可以把一组逻辑上上要做的事定义为一个会话,比如这次会话我们是要做一个应用的日常开发。

window: 窗口,就是我们屏上看到的控制台界面,可以跟iTerm2上一样,有多个tab页,实际概念上也可以直接理解为tab页。

panel:一个大窗口上,为了能直接看到多个登录机器的情况,可以切分这个窗口,

如何进行多屏批量shell命令发送

常用快捷键

ctrl+b, % 垂直切割屏幕(window)  ctrl+b, " 水平切割屏幕(window)

切换窗口

ctrl+b + 窗口号  ctrl+b + n 换到下一个窗口  ctrl+b + p 换到前一个窗口

切换panel

ctrl+b + 上下左右, 移动到想要的panel上

调整panel大小

ctrl+b alt+ 左或右调整垂直panel大小  ctrl+b alt+ 上或下调整水平panel大小

下图,将右边的panle调大了

如何进行多屏批量shell命令发送

翻页

tmux不是一个原生GUI支持的,所以我们没法用iterm2里面的鼠标翻页来进行操作,翻页操作更像vi里面的纯键盘操作。

ctrl+b, [ 切换到复制模式。然后用ctrl+b后退, ctrl+f 前进 来翻页。

看多机器shell屏幕大招,发送命令到多个panel

ctrl+b, :setw synchronize-panes

这个是今天的重点,前面说过了,如果需要登录的日常机器扩展到4台怎么办?

想象下,我们计划连4台机,这个可以用切割window得到多个panel解决,而我们的目的是看日志,这个操作在每台机是一模一样的:

cd xxx/xxx/xxx  tail -f xxx.log

那么有没有一种方式能把我们打的命令同步发送到所有的panel(所有登录的机器上)呢?

当然有,通过设置一个模式解决。

ctrl+b, :setw synchronize-panes

如何进行多屏批量shell命令发送

设置成功后,在一个panel内打字,会同步到所有panel上,如下,我只在一个panel里面输入了test。

想解除怎么办? 同样的命令(synchronize-panes)再输入一次就解除这种模式。

如何进行多屏批量shell命令发送

tmux的一些缺省配置功能可以配置在文件里,路径是:~/.tmux.conf

share一下我目前在用的:

set-option -g default-shell /bin/zsh setw -g mode-keys vi set-option -g default-command "reattach-to-user-namespace -l zsh" set-window-option -g mode-mouse on set -g mouse-select-pane on set -g mouse-resize-pane on set -g mouse-select-window on  # Setup 'v' to begin selection as in Vim bind-key -t vi-copy v begin-selection bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"  # Update default binding of `Enter` to also use copy-pipe unbind -t vi-copy Enter bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"  # bind a reload key bind R source-file ~/.tmux.conf ; display-message "Config reloaded.."

关于如何进行多屏批量shell命令发送就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 如何进行多屏批量shell命令发送

本文链接: https://www.lsjlt.com/news/283771.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何进行多屏批量shell命令发送
    这篇文章给大家介绍如何进行多屏批量shell命令发送,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。web系统常见的开发流程:日常->预发->线上日常上通常只有一台机器用来集成,所有人的开发分支会在这上面做合...
    99+
    2023-06-16
  • Spark-shell批量命令执行脚本的方法
    批量执行spark-shell命令,并指定提交参数 #!/bin/bash source /etc/profile exec $SPARK_HOME/bin/spark-shell --queue tv --na...
    99+
    2022-06-04
    Spark shell 执行脚本
  • hbase-shell批量命令执行脚本的方法
    批量执行hbase shell 命令 #!/bin/bash source /etc/profile exec $HBASE_HOME/bin/hbase shell <<EOF truncate...
    99+
    2022-06-04
    hbase shell 执行脚本
  • 如何让Emacs shell命令发送桌面通知
    小编给大家分享一下如何让Emacs shell命令发送桌面通知,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我总是使用 Eshell 来与操作系统进行交互,因为它...
    99+
    2023-06-16
  • 如何在Linux命令行发送邮件
    这篇文章主要为大家展示了“如何在Linux命令行发送邮件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何在Linux命令行发送邮件”这篇文章吧。当你需要在 shell 脚本中创建邮件时,就需要...
    99+
    2023-06-16
  • 使用hbase-shell命令怎么批量执行脚本
    今天就跟大家聊聊有关使用hbase-shell命令怎么批量执行脚本,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。批量执行hbase shell 命令#!/bin/bash ...
    99+
    2023-06-09
  • 使用Spark-shell怎么批量命令执行脚本
    这篇文章给大家介绍使用Spark-shell怎么批量命令执行脚本,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。批量执行spark-shell命令,并指定提交参数#!/bin/bashsource /etc/p...
    99+
    2023-06-09
  • 使用hive-shell命令怎么批量执行脚本
    使用hive-shell命令怎么批量执行脚本?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如下所示:#!/usr/bin/bashHADOOP_HOME=&qu...
    99+
    2023-06-09
  • linux命令行如何批量创建目录
    这篇文章将为大家详细讲解有关linux命令行如何批量创建目录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。linux命令行批量创建目录详解以前一直用-p创建目录链,觉得很方便了。在空目录/opt/app/...
    99+
    2023-06-09
  • 基于paramiko的文件批量分发和命令批量执行
        在实际工作环境中,有可能需要去运维百台服务器,甚至更多。以应用升级为例,对应用做升级操作,首先得停止应用服务,防止新的应用数据写入,并备份应用部署目录,然后替换成新的代码文件、配置文件等。替换...
    99+
    2023-06-02
  • Java中如何执行多条shell/bat命令
    java调用process执行命令 public class ShellUtil { public static String runShell (String shSt...
    99+
    2024-04-02
  • hive-shell批量命令执行脚本的实现方法
    如下所示: #!/usr/bin/bash HADOOP_HOME="/opt/module/cdh-5.3.6-ha/hadoop-2.5.0-cdh5.3.6" HIVE_HOME='/opt/module/cd...
    99+
    2022-06-04
    hive shell 命令
  • shell如何批量重命名文件
    这篇文章将为大家详细讲解有关shell如何批量重命名文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。批量重命名文件为所有txt文件加上.bak 后缀:rename&nb...
    99+
    2024-04-02
  • 如何在shell中使用expect命令进行远程执行命令脚本
    如何在shell中使用expect命令进行远程执行命令脚本?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。expect是用来实现自动交互功能的工具之一,使用expect-send...
    99+
    2023-06-09
  • shell命令行模式中如何执行mongo命令
    小编给大家分享一下shell命令行模式中如何执行mongo命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • Linux系统如何使用awk命令批量杀进程
    这篇文章给大家分享的是有关Linux系统如何使用awk命令批量杀进程的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在管理系统时,难免会碰到需要杀掉某一类的进程,但是进程数量非常多,使用命令一个一个处理效率太慢。p...
    99+
    2023-06-28
  • Shell命令在Java中的应用:如何批量处理文件?
    在日常开发中,我们经常需要处理大量的文件。而Shell命令是一个非常强大的工具,可以帮助我们快速地批量处理文件。在Java中,我们可以通过调用Shell命令来实现文件的批量处理。本文将介绍如何在Java中使用Shell命令来实现文件的批量...
    99+
    2023-06-24
    文件 二维码 shell
  • shell脚本批量复制及执行命令的示例详解
    平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可以找到一些省时省力的...
    99+
    2022-06-04
    shell脚本批量复制 批量复制执行命令
  • linux下如何执行shell命令
    这篇文章将为大家详细讲解有关linux下如何执行shell命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。linux下执行shell命令有两种方法 在当前shell中执行shell命令在当前s...
    99+
    2023-06-09
  • python如何运行shell命令subprocess
    这篇“python如何运行shell命令subprocess”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python如何运...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作