
Shell
shell脚本基础
bdkl9998
春风十里不如你
展开
-
shell脚本学习(二十九)——服务的监控脚本
监控mysql数据库异常为例1 服务器的端口监控的集中方式已经相对应的命令(1) 服务器的本地监控在服务器本地监控端口的命令有:netstat ss lsofnetstat命令的用法netstat -antlpe | grep mysqlnetstat -antlpe | grep 3306 | awk -F "[ :]+" '{print $5}'netstat -antlpe...原创 2020-03-11 22:36:13 · 194 阅读 · 0 评论 -
shell脚本学习(二十八)——服务启动脚本的编写
这里是以nginx为例来做的1 官网下载好nginx,进行源码编译tar zxf nginx-1.16.1.tar.gzcd nginx-1.16.1/yum install gcc zlib zlib-devel openssl-devel -y #解决依赖性的问题./configure --prefix=/usr/local/nginxmake && make in...原创 2020-03-11 18:24:50 · 235 阅读 · 0 评论 -
shell脚本学习(二十六)——随机数的生成
Linux系统产生随机数的方法1 通过系统环境变量($RANDOM)实现RANDOM的随机数范围为0~32767,因此其加密性不是很好,可以通过在输出的随机数后增加加密字符串(就是和密码生成有关的一个字符串)的方法解决,最后再一起执行md5sum操作并截取结果的后n位,这样一来,就无法根据随机数范围来猜出具体结果了。echo $RANDOM #生成随机数echo "Black Ma...原创 2020-03-07 23:08:56 · 876 阅读 · 0 评论 -
shell脚本学习(二十五)——Linux命令之md5sum
1 md5sum原创 2020-03-07 22:25:06 · 2509 阅读 · 0 评论 -
shell脚本学习(二十四)——“文本三剑客”之awk命令
1 何为awk?awk 程序设计语言,已经被定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。awk是一种很棒的语言,它适合文本处理和报表生成,其语法较为常见,借鉴了某些语言的精华,如C语言等。在linux系统日常处理工作中,发挥很重要的工作。awk的编程模式awk程序由一个主输入循环维持,主输入...原创 2020-03-07 14:20:16 · 274 阅读 · 0 评论 -
shell脚本学习(二十三)——“文本三剑客”之sed命令
1 sed命令原创 2020-03-06 19:23:13 · 276 阅读 · 0 评论 -
shell脚本学习(二十二)——“文本三剑客”之grep命令
1 grep命令grep其实是 Global search regular expression and print out the line(全面搜索研究正则表达式并显示出来),grep命令是一种强大的文本搜索工具,根据用户指定的“模式”对目标文件进行匹配检查,打印匹配到的行。模式:由正则表达式或者字符及基本文本字符所编写的过滤条件。grep命令的基本用法参数说明-c...原创 2020-03-05 00:19:46 · 202 阅读 · 0 评论 -
shell脚本学习(八)——echo命令、read命令、alias命令
1 echo命令(1) -n 表示不换行#!/bin/bashname='haha'age=20height=188weight=50echo -n "${name} is {age} years old,"echo -n "${height}cm in height "echo "${weight}kg in weight "echo "thank u!"(2)-e ...原创 2020-02-15 19:44:48 · 860 阅读 · 0 评论 -
shell脚本学习(四)——变量的使用、变量值的修改、命令结果的赋值、变量的删除
1 变量的使用在shell中定义好一个变量后,如果要使用这个变量,在变量前加上“$”即可。#!/bin/bashurl=http://www.baidu.comecho $urlname="haha"echo $haha2 变量值的修改在shell脚本中,同一个变量在同一个文件中可以被重新赋值,因为shell作为语言也是一门解释性语言,在读取脚本时,即一行一行的读取,故同一个变量...原创 2020-02-11 13:02:06 · 9039 阅读 · 0 评论 -
shell脚本学习(三)——source的补充用法、变量的定义、单双引号以及花括号的用法
1 source的补充用法原创 2020-02-11 01:51:31 · 843 阅读 · 0 评论 -
shell脚本学习(二十七)——系统文件加密
1 实验背景监控web站点目录(/var/html/www)下的所有文件是否被恶意篡改(文件内容被更改)文件内容被改动了会有如下特征:大小可能会变化;修改时间会变化;文件内容会变化,利用md5sum指纹校验;增加或删除文件,对比每次监测前后的文件数量。2 实验步骤第一步:在企业网站发布代码后,即对所有网站数据建立初始指纹库和文件库,这个步骤很重要,没有基础的指纹库,无法进行入侵...原创 2020-03-08 15:47:19 · 167 阅读 · 0 评论 -
shell脚本学习(二十一)——正则表达式
1 正则表达式的概念linux shell以一串字符作为表达式向系统传达意思,元字符是用来解释字符表达意义的字符。简单来说:元字符就是描述字符的字符,它用于对字符表达式的内容,转化以及各种操作信息进行描述,正则表达式是由一串字符和元字符构成的字符串,它的功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合。2 常用符号以及含义符号说明*匹配前面一个普通字符的0...原创 2020-03-04 22:26:33 · 186 阅读 · 0 评论 -
shell脚本学习(二十)——shell中常用的命令join和tr、xargs
1 join命令原创 2020-03-04 16:32:59 · 386 阅读 · 0 评论 -
shell脚本学习(十九)——shell中常用的命令sort和uniq、seq
1 sort命令原创 2020-03-03 23:05:39 · 814 阅读 · 0 评论 -
shell脚本学习——数组的练习
1 使用循环批量输出数组的元素#!/bin/bash#使用循环批量输出数组的元素array=(a b c d e)for ((i=0;i<${#array[@]};i++)) #从数组的第一个下标0开始,循环数组的所有下标do echo ${array[i]} #打印数组元素done2 通过竖向列举方法定义数组元素并批量打印#!/bin/bash#通过竖向列举方法定义...原创 2020-03-02 19:17:10 · 315 阅读 · 0 评论 -
shell脚本学习(十八)——shell中常用的命令diff和patch、cut
1 diff命令的用法diff file1 fil2以后面的文件file2作为标准 比较file1相对于file2来说有什么不同< 表示第一个文件中的内容> 表示第二个文件中的内容a表示添加–addc表示更改–changed表示删除–delete...原创 2020-03-02 22:57:35 · 278 阅读 · 0 评论 -
shell脚本学习(十七)——环境变量
1 环境变量的概念环境变量也称为全局变量,可以在创建他们的shell及其派生出来的任意子进程shell中使用;环境变量可以分为自定义环境变量和bash内置的环境变量;环境变量可以在命令行中设置和创建,用户退出命令行时这些变量值就会丢失,想要永久保存环境变量,可以写在文件中。2 创建环境变量(1) export 变量名=valueexport NAME=hanhanecho $NAME...原创 2020-03-01 12:31:56 · 228 阅读 · 0 评论 -
shell脚本学习(十六)——数组
1 数组的定义以及表示方法原创 2020-02-22 19:38:22 · 328 阅读 · 0 评论 -
shell脚本学习(十五)——select in语句
1 select in 格式select in循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。select in 是shell独有的一种循环,非常适合终端(Terminal)这样的交互场景。其他语言是没有的。格式select variable in value_listdo statementsdone其中variable表...原创 2020-02-17 23:22:59 · 1118 阅读 · 0 评论 -
shell脚本学习(十四)——case in语句
1 case in的原创 2020-02-17 23:22:13 · 988 阅读 · 0 评论 -
shell脚本学习(十三)——for循环语句
1 C语言风格的for循环格式如下:for ((exp1;exp2;exp3))do statementsdone运行过程:1)先执行exp1;2 )再执行exp2,如果它的判断结果成立,则执行循化体中的语句,否则结束整个for循环;3)执行完循环体后再执行exp3;4)重复执行步骤2)和3),直到exp2的判断结果不成立,就结束循环。上面的步骤中,第二步和第三步合并在一起...原创 2020-02-17 16:25:01 · 375 阅读 · 0 评论 -
shell脚本学习(十二)——while与until循环
1 while循环while循环是Shell脚本中最简单的一种循环,当条件满足时,while重复地执行一组语句,当条件不满足时,就退出while循环。Shell while 循环的语法结构:while conditiondo statementsdone这里condition表示判断条件,statements表示要执行的语句(可以只有一条,也可以有多条),do和done都是shel...原创 2020-02-17 12:04:46 · 388 阅读 · 0 评论 -
shell脚本学习(十一)——test命令
1 test命令test时是shell内置命令,用来检测某个条件是否成立。test通常和if语句一起使用,并且大部分if语句都依赖test命令。Shell test命令的用法:用法一:test expression用法二:[ expression ] #这里的[]就是test的简写形式注意:[ ]和expression之间的空格,这两个空格是必须存在的,否则会导致语法错误...原创 2020-02-17 11:59:02 · 2350 阅读 · 0 评论 -
shell脚本学习(十)——if语句
1 if语句的基本格式格式if conditionthen statement(s)fi 还有第二种格式,就是当condition和then在一行时,中间用;隔开,这里的;必须加否则会出现错误if condition;then statementfi示例一:#!/bin/bashif date then echo "it works" fi...原创 2020-02-16 20:07:09 · 331 阅读 · 0 评论 -
shell脚本学习(九)——函数
1 shell函数的格式shell函数的本质是一段可以重复使用的代码脚本,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可。shell中的函数和C++、Java、Python、C#等其它编程语言中的函数类似,只是在语法细节上有所差别。shell函数定义的语法格式如下function name(){ statements [return value]}对各个部分的说明:...原创 2020-02-16 13:44:47 · 178 阅读 · 0 评论 -
shell脚本学习(七)——字符串
字符串就是一系列字符的组合。字符串是Shell编程中最常用的数据类型之一(除了数字和字符串,也没有其他类型了)1 字符串的表达形式字符串有三种形式:(1)、 由单引号包围的字符串任何字符都会原样输出,在其中使用变量是无效的, 字符串中不能出现单引号,即使对单引号进行转义也不行(2) 由双引号包围的字符串如果其中包含了某个变量,那么该变量会被解析(得到该变量的值),而不是原样输出,字符串...原创 2020-02-15 02:47:44 · 343 阅读 · 0 评论 -
shell脚本学习(六)——特殊参数
1 位置参数原创 2020-02-14 15:52:59 · 292 阅读 · 0 评论 -
shell脚本学习(五)——shell中的数学计算
1 运算符号如果要执行数学运算,那就肯定有各种运算符号,shell中也有许多运算符。运算符说明+、-加法、减法(或负号)*、/、%乘法、除法、取余**幂运算++、– –自增、自减(可以放在变量的前面或后面)++、– –自增、自减(可以放在变量的前面或后面)!、&&、| |逻辑非(取反)、与(and)、或(or)...原创 2020-02-13 01:12:12 · 619 阅读 · 0 评论 -
shell脚本学习(二)——shell脚本的文件名、运行方法、变量
1 shell脚本的文件格式熟悉python的人都知道,python文件一般为.py的文件,而shell脚本文件同样,有它自己的文件格式,类似于python,shell脚本文件的格式为xxx.sh我们来写一个简单的shell脚本,来看一下它的文件格式,一般情况下在Linux中我们使用vim来编辑shell脚本#!/bin/bash #指定shell程序的解释器echo "he...原创 2020-02-09 23:22:03 · 2949 阅读 · 0 评论 -
shell脚本学习(一)——shell的基础
1 shell是什么?我们都知道,管理整个计算机硬件的是操作系统的内核。但是,由于安全、复杂、繁琐等原因,用户不能直接接触内核,并且这个内核是需要被保护的。故需要另外再开发一个程序,让用户直接使用这个程序;该程序的作用就是接收用户的操作(点击图标、输入命令),并进行简单的处理,然后再传递给内核,这样用户就能间接地使用操作系统内核了。你看,在用户和内核之间增加一层“代理”,既能简化用户的操作,...原创 2020-02-08 01:26:18 · 212 阅读 · 0 评论