vim脚本

shell_script1

倖福魔咒の 提交于 2020-04-02 07:32:55
1、简介 2、read 3、运算工具 4、if/then结构 5、while循环 6、for循环 一、简介 1、什么是shell shell是用户与系统交互作用的界面。shell是一种命令解释程序,同时也是一种高级程序设计语言 2、shell常见种类 Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) 其中:Bash在日常工作中被广泛使用; 同时,Bash也是大多数Linux系统默认的Shell; 3、shell局限性 1.1、需要耗费大量资源的任务,特别是对执行速度要求较高的场合 1.2、涉及大量的数学计算 1.3.、关键性应用(数据库,网站等) 1.4.、设计图形或者GUI的应用 1.5.、需要直接访问硬件 1.6.、开发闭源的应用(相对于开源) 4、基础 文件系统:Linux 的文件系统是一个包含了目录和文件的分层的组织结构,位于最顶端的叫做根目录(root directory),用斜杠/ 来表示 目录: 是一种包含目录项的文件,每个目录项中都包含了文件名 文件名: 目录的内容称为目录项,目录项包含了文件名,只有两种字符不允许出现在文件名中:斜杠,空字符(ASCII

[原创]使用benchmarksql和pgbench对PostgreSQL Plus Advanced Server进行性能测试

梦想与她 提交于 2020-03-05 11:22:53
/*--> */ /*--> */ 一、测试环境 benchmarksql version:4.0.8 rhel 6.3 vmware esxi 二、理解 benchmarksql 性能测试原理 TPC-C 1 、理解 TPC-C TPC-C 模拟一个批发商的货物管理环境。该批发公司有 N 个仓库,每个仓库供应 10 个地区,其中每个地区为 3000 名顾客服务。在每个仓库中有 10 个终端,每一个终端用于一个地区。在运行时, 10×N 个终端操作员向公司的数据库发出 5 类请求。由于一个仓库中不可能存储公司所有的货物,有一些请求必须发往其它仓库,因此,数据库在逻辑上是分布的。 N 是一个可变参数,测试者可以随意改变 N ,以获得最佳测试效果。 TPC-C 使用三种性能和价格度量,其中性能由 TPC-C 吞吐率衡量,单位是 tpmC 。 tpm 是 transactions per minute 的简称; C 指 TPC 中的 C 基准程序。它的定义是每分钟内系统处理的新订单个数。要注意的是,在处理新订单的同时,系统还要按表 1 的要求处理其它 4 类事务 请求。从表 1 可以看出,新订单请求不可能超出全部事务请求的 45 %,因此,当一个系统的性能为 1000tpmC 时,它每分钟实际处理的请求数是 2000 多个。价格是指系统的总价格,单位是美元,而价格性能比则定义为总价格 ÷

Vim与Shell脚本(下)

笑着哭i 提交于 2020-02-28 09:20:12
流程控制语句 3.while while条件循环语句 (条件) while条件循环语句是一种让脚本根据某些条件来重复执行命令的语句,它的循环结构往往在执行前并不确定最终执行的次数,完全不同于for循环语句中有目标、有范围的使用场景 该脚本使用$RANDOM变量来调取出一个随机的数值(范围为0~32767),将这个随机数对1000进行取余操作,并使用expr命令取得其结果,再用这个数值与用户通过read命令输入的数值进行比较判断 #!/bin/bash #thin is a test.sh PRICE=$(expr $RANDOM % 1000) TIMES=0 echo " 商品实际价格为 0-999 之间,猜猜看是多少? " while true do read -p " 请输入您猜测的价格数目: " INT let TIMES++ if [ $INT -eq $PRICE ] ; then echo " 恭喜您答对了,实际价格是 $PRICE" echo " 您总共猜测了 $TIMES 次 " exit 0 elif [ $INT -gt $PRICE ] ; then echo " 太高了! " else echo " 太低了! " fi done 4.case条件测试语句 case语句是在多个范围内匹配数据,若匹配成功则执行相关命令并结束整个条件测试

vim 高级使用技巧第二篇

余生长醉 提交于 2020-02-22 04:37:35
上篇我贴上了我使用的vim配置及插件配置,有这些东西只能是一个脚本堆积,无从谈高效的代码阅读开发。 下面我们就来写经常使用的命令,就从配置F系列快捷键开始吧。 F+ n 快捷键配置  F1基本上时帮助,这个貌似不能被 Terminal帮助使用了,  F2显示或者不显示行号,默认情况是显示的,在需要copy的一些操作时候这个是很有用的  F3换行显示或者不换行显示,在有些如Makefile命令较长的情况可以用它来快速修改其中的东西,默认情况是不换行  F4呼出文件的函数列表(TagbarToggle) F5粘贴模式paste_mode开关,用于有格式的代码粘贴,因为我们的vim配置的智能缩进,这个开关能然你在网页上复制的有格式东西不被vim缩进哦  F6关闭语法可以加快大文件的展示  F9这个定义了一个函数用gtags解析工程目录,这个跟ctags解析差不多,据说可以制动更新,不过我使用比较少  F12这个就是集成了ctags, cscope两项功能的函数,只要到你想要生成工程的根目录按F12等待一会后你就能用cscope命令了(这个比较强大) 上述快捷键可以在我上篇中的.vimrc 脚本中更改按照你的习惯F12按键我配置的解析比较全,如果你不需要很全的解析请修改 .vimrc 中的Do_CsTag()配置 不知道如何配置请google, bing, baidu。

Linux 学习第四天

佐手、 提交于 2020-02-15 05:14:52
Vim 编辑器相比 Windows 上的 Notepad,操作上还是有很大不同的。对于新手,的确不甚友好。但稍加练习后,手不离键盘应该还是很有效率的。其实就像我刚刚开始学习双拼,习惯之后,打字速度感觉比全拼要快一些。只消两次击打键,就能输出一个汉字。还是那句话,Linux 是面向相对专业的计算机使用者的,普通办公需求与娱乐, Windows 已经做的非常好了。 原书链接: 第4章 Vim编辑器与Shell命令脚本 来源: https://www.cnblogs.com/JosephCen/p/11521667.html

expect构建文件分发系统

随声附和 提交于 2020-02-14 01:23:43
  expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令。当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令。但当不能使用密钥验证的时候,我们就没有办法了。所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令。  分发准备:模板脚本、服务器ip、用户名、密码、expect脚本 yum install -y expect expect脚本登录机器: vim 1.expect #!/usr/bin/expect set host "192.168.133.132" #连接到主机 set passwd "123456" #密码 spawn ssh root@$host #spawn调用shell命令ssh(登录),“set host”和“set passwd”为expect定义的两个变量 expect { "yes/no" { send "yes\r"; exp_continue} #ssh首次远程登录一台主机是会提示yes/no,吧yes发送过去;"\r“表示回车 "password:" { send "$passwd\r" } #如果提示passwd需要把密码发送过去,用户交互,"\r“表示回车 } interact #interact的作用是停留在远程机器上,不退出 #脚本结束符号:expect eof—

Zabbix3.4从入门到精通

心不动则不痛 提交于 2020-01-14 11:58:45
zabbix-基础 第1章 关于zabbix 1.1 为什么要使用监控 1.对系统不间断实时监控 2.实时反馈系统当前状态 3.保证服务可靠性安全性 4.保证业务持续稳定运行 1.2 如何进行监控 比如我们需要监控磁盘的使用率 1.如何查看磁盘使用率df -h 2.监控磁盘的那些指标block、inode 3.如何获取具体的信息df -h|awk'//$/{print $(NF-1)}' 4.获取的数值到达多少报警 80% 1.3 流行的监控工具 1.cacti、Nagios、Zabbix、 2.Lepus(天兔)数据库监控系统 3.Open-Falcon 小米 4.Prometheus(普罗米修斯,Docker、K8s) 1.4 到一家新公司,如何入手监控 1.硬件监控 路由器、交换机、防火墙 2.系统监控 CPU、内存、磁盘、网络、进程、TCP 3.服务监控 nginx、php、tomcat、redis、memcache、mysql 4.WEB监控 请求时间、响应时间、加载时间、 5.日志监控 ELk(收集、存储、分析、展示)日志易 6.安全监控 Firewalld、WAF(Nginx+lua)、安全宝、牛盾云、安全狗 7.网络监控 smokeping 多机房 8.业务监控 第2章 zabbix部署 2.1 基础环境划分 主机名 IP地址 功能 zabbix 172.16.1

初入Shell

风格不统一 提交于 2020-01-12 00:07:23
shell 第 1 章 Shell 概述 大数据 程序员 为什么要 学习 Shell 呢?   1 ) 需要看懂运维人员 编写的Shell程序。   2) 偶尔会编写一些简单 Shell 程序 来管理集群、 提高开发效率 。    第 2 章 Shell 解析器   ( 1 ) Linux 提供的 Shell 解析器有: [atguigu@hadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh   ( 2 ) bash 和 sh 的关系 [atguigu@hadoop101 bin]$ ll | grep bash -rwxr-xr-x. 1 root root 941880 5月 11 2016 bash lrwxrwxrwx. 1 root root 4 5月 27 2017 sh -> bash   ( 3 ) Centos/Ubutun 默认的 解析 器 是bash [atguigu@hadoop102 bin]$ echo $SHELL /bin/bash 第 3 章 Shell 脚本 入门 1 . 脚本格式 脚本以 #!/bin/bash 开头 (指定解析 器 ) 2 . 第一个 Shell 脚本 :helloworld ( 1 )需求:创建一个

nfs主主模式

倖福魔咒の 提交于 2020-01-11 21:26:05
1.解决了nfs单点故障; 2.使用nfs+keepalived做了主备;   1.当nfs服务器宕机时~主备切换,依据监控keepalived主上的nfs挂了,就停掉主keepalived;依靠keepalived的nfs_check.sh监控(脚本:nfs_check.sh)   nfs_check.sh:     1.监控keepalived是否为主,为主:检查挂载是可用     2.检查此机器上的nfs是否正常,不正常,关闭keepalived   2.通过keepalived的notify_master、notify_backup、notify_fault、notify_stop的4个状态,分别对应的脚本来决定数据的同步方向 3.通过rsync+inotify实现主备间的共享目录进行同步。 VIP:192.168.109.136 master-nfs:192.168.109.137 backup-nfs:192.168.109.138 client:192.168.109.139 nfs与所有挂载机做免密安全认证,为后面判断挂载读写正常检测提供(略) ssh-keygen ssh-copy-id IP 一、master-nfs、backup-nfs 安装nfs服务;client安装客户端(略):参考: https://www.cnblogs.com/NGames/p

Linux shell脚本基础 条件测试 for循环(Engineer01----DAY8)

妖精的绣舞 提交于 2019-12-23 06:50:08
什么脚本:一个可以执行文件,运行后可以实现某种功能 创建用户zhangsan useradd zhangsan 案例:书写hello.sh脚本 [root@server0 ~]# vim /root/hello.sh echo hello world [root@server0 ~]# /root/hello.sh -bash: /root/hello.sh: 权限不够 [root@server0 ~]# chmod +x /root/hello.sh [root@server0 ~]# ls -l /root/hello.sh [root@server0 ~]# /root/hello.sh hello world ####################################################### 规范Shell脚本的一般组成 • #! 环境声明,以下代码由那个程序进行翻译 • # 注释文本 • 可执行代码 1)输出当前红帽系统的版本信息 2)输出当前使用的内核版本 3)输出当前系统的主机名 [root@server0 ~]# vim /root/hello.sh #!/bin/bash echo hello world cat /etc/redhat-release uname -r hostname ifconfig | head -2 [root