![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shell
silence-1
从事运维研究
展开
-
Shell编程实战-服务的监控脚本
监控web和数据库shell经典案例监测mysql数据库异常yum install mysql -server -y/etc/init.d/mysqld start#我们只有先确定命令行是正确的,才能确保将它放到脚本里也是正确的首先采用短空监控的方式在服务器本地监控端口的命令有:netstat,ss,lsof对端口进程进行判断时,尽量通过grep过滤端口和进程标记...原创 2020-02-17 19:02:08 · 296 阅读 · 0 评论 -
shell编程实战-服务启动脚本的编写
安装nginx解决依赖性安装软件yum install gcc openssl-devel pcre-devel编写启动nginx脚本代码如下进行测试原创 2020-02-17 16:48:50 · 117 阅读 · 0 评论 -
shell编程之文件安全性的保证
监控web站点目录(/var/html/www)下的所有文件是否被恶意篡改(文件内容被更改文件内容被改动了会有如下特征1.大小可能会变化2.修改时间会变化3.文件内容会变化,利用md5sum指纹校验4.增加或删除文件,对比每次检测前后的文件的数量第一步:在企业网站发布代码之后,即对所有网站数据建立出事指纹库和文件库,这个步骤很重要,没有基础的指纹库,无法进行入侵监测1....原创 2020-02-17 16:15:09 · 155 阅读 · 0 评论 -
shell编程之sed
1,sed的作用和工作原理:作用:处理文件内容(增删改查),学了sed之后可以对较大的文件或者大批量的文件进行高效率的处理。工作原理:sed读取一行,首先将这行放入缓存,然后才对这行进行处理,处理完后,将缓存区的内容发送到终端,其中sed对应的缓存区空间称为:模式空间。2,格式:sed [选项] [sed命令] [输入文件]注意事项:1,他们之间都有空格,每个元素至少一个空...原创 2020-02-16 16:19:25 · 113 阅读 · 0 评论 -
Shell编程之安全加密
linux之md5sum在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是文件的内容,与文件名无关,也就是文件内容相同,其md5值相同。md5值是一个128位的二进制数据,转换成16进制则是...原创 2020-02-16 16:04:59 · 228 阅读 · 0 评论 -
Shell编程之awk
awk介绍awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”Linux awk命令详解除了使用 sed 命令,Linux 系统中还有一个功能更加强大的文本数据处理工具,就是 awk。它诞生于...原创 2020-02-16 15:50:53 · 202 阅读 · 0 评论 -
shell编程之常用指令
一,diff和patch命令diff通常比较文件的内容,patch常用来打补丁比较内容[root@server1 mnt]# vim file1[root@server1 mnt]# vim file2[root@server1 mnt]# cat file1123haha[root@server1 mnt]# cat file2123nihao# 第一个文件的第2行 修...原创 2020-02-15 20:52:53 · 338 阅读 · 0 评论 -
Shell编程之环境变量
shell环境变量:shell环境变量不仅在Shell编程方面,而且在Linux系统管理方面,都起着非常重要的作用环境变量的特殊之处仅在于它的值适用于所有由登陆进程所生产的子进程如果要列出系统中所有的环境变量,可使用env命令自定义环境变量:export 变量名=value变量名=value ; export 变量名Declare -x 变量名=value清除环境变量unset...原创 2020-02-15 20:52:19 · 219 阅读 · 0 评论 -
Shell编程之数组
Shell数组:Shell数组定义以及获取数组元素和其他编程语言一样,Shell 也支持数组。数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element)。Shell 并且没有限制数组的大小,理论上可以存放无限量的数据。和 C++、Java、C# 等类似,Shell 数组元素的下标也是从 0 开始计数。获取数组中的元素要使用下标[ ],下标可以是一个整数,也可以是一个结果...原创 2020-02-14 15:15:16 · 265 阅读 · 1 评论 -
Shell编程之select语句
select in 循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能select in 是 Shell 独有的一种循环,非常适合终端(Terminal)这样的交互场景,C语言、C++、Java、Python、C# 等其它编程语言中是没有的Shell select in 循环的用法如下:select variable in valu...原创 2020-02-14 15:12:12 · 164 阅读 · 0 评论 -
Shell编程之正则表达式及grep指令
# 实际上,正则表达式完成了数据过滤,将不满足的正则表达式定义的数据拒绝掉,剩下的与正则表达式匹配的数据# 元字符:shell赋予了它们超越字面意思的意义# 掌握正则表达式基本元素主要是对正则表达式中元字符意义的掌握*:匹配前面一个普通字符0次或多次重复 hel*o:helo hello hellllo都可以匹配.:匹配任意一个字符 ...73.:值得注意的是"."符...原创 2020-02-14 15:07:59 · 507 阅读 · 0 评论 -
Shell编程之test
test 是 Shell 内置命令,用来检测某个条件是否成立。test 通常和 if 语句一起使用,并且大部分 if 语句都依赖 test。test 命令有很多选项,可以进行数值、字符串和文件三个方面的检测。Shell test 命令的用法为:test expression当 test 判断 expression 成立时,退出状态为 0,否则为非 0 值test 命令也可以简写为[]...原创 2020-02-14 14:58:46 · 225 阅读 · 0 评论 -
Shell编程之until
unti 循环和 while 循环恰好相反,当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环until 的使用场景很少,一般使用 while 即可Shell until 循环的用法如下:until conditiondo statementsdonecondition表示判断条件,statements表示要执行的语句(可以只有一条,也可以有多条),do和don...原创 2020-02-14 14:55:39 · 250 阅读 · 0 评论 -
shell中的case
和其它编程语言类似,Shell 也支持两种分支结构(选择结构),分别是 if else 语句和 case in 语句。在《Shell if else》一节中我们讲解了 if else 语句的用法,这节我们就来讲解 case in 语句。当分支较多,并且判断条件比较简单时,使用 case in 语句就比较方便了[root@server1 mnt]# cat test.sh#!/bin/...原创 2020-02-14 09:23:17 · 198 阅读 · 0 评论 -
shell中的for循环
除了 while 循环和 until 循环,Shell 脚本还提供了 for 循环,它更加灵活易用,更加简洁明了。Shell for 循环有两种使用形式,下面我们逐一讲解C语言风格的 for 循环C语言风格的 for 循环的用法如下:for((exp1; exp2; exp3))do statementsdone几点说明: exp1、exp2、exp3 是三个...原创 2020-02-14 09:16:27 · 2887 阅读 · 1 评论 -
shell中的if语句
if 语句最简单的用法就是只使用 if 语句,它的语法格式为:if conditionthen statement(s)fi# 请注意 condition 后边的分号;,当 if 和 then 位于同一行的时候,这个分号是必须的,否则会有语法错误实例1下面的例子使用 if 语句来比较两个数字的大小:[root@server1 mnt]# sh test.sh...原创 2020-02-14 09:07:42 · 205 阅读 · 0 评论 -
Shell中的while循环
while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环Shell while 循环的用法如下:while conditiondo statementsdonecondition表示判断条件,statements表示要执行的语句(可以只有一条,也可以有多条),do和done都是 Shel...原创 2020-02-14 09:00:16 · 913 阅读 · 0 评论 -
Shell中的函数介绍
Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可。Shell 中的函数和C++、Java、Python、C# 等其它编程语言中的函数类似,只是在语法细节有所差别。Shell 函数定义的语法格式如下:function name() { statements [return value]}对各个部分...原创 2020-02-14 08:54:48 · 385 阅读 · 0 评论 -
Shell中alias介绍
Shell alias:给命令创建别名alisa 用来给命令创建一个别名。若直接输入该命令且不带任何参数,则列出当前 Shell 进程中使用了哪些别名。现在你应该能理解类似ll这样的命令为什么与ls -l的效果是一样的吧下面让我们来看一下有哪些命令被默认创建了别名:[root@foundation0 ~]# aliasalias cp='cp -i'alias egrep='egre...原创 2020-02-12 21:00:42 · 336 阅读 · 0 评论 -
Shell中内置关键字[[]]
[[ ]] 是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好;test 做不到的,[[ ]] 还能做到。可以认为 [[ ]] 是 test 的升级版,对细节进行了优化,并且扩展了一些功能[[ ]] 的用法为:[[ expression ]]# 当 [[ ]] 判断 expression...原创 2020-02-12 20:58:15 · 373 阅读 · 0 评论 -
Shell中的字符串
字符串(String)就是一系列字符的组合。字符串是 Shell 编程中最常用的数据类型之一(除了数字和字符串,也没有其他类型了)字符串举例:纯文本复制 str1=c.biancheng.net str2="shell script" str3='C语言中文网'下面我们说一下三种形式的区别:1) 由单引号' '包围的字符串 任何字符都会原样输出,在...原创 2020-02-12 20:55:47 · 408 阅读 · 0 评论 -
Shell中的参数(位置和特殊)
我们先来说一下 Shell 位置参数是怎么回事。运行 Shell 脚本文件时我们可以给它传递一些参数,这些参数在脚本文件内部可以使用$n的形式来接收,例如,$1 表示第一个参数,$2 表示第二个参数,依次类推。同样,在调用函数时也可以传递参数。Shell 函数参数的传递和其它编程语言不同,没有所谓的形参和实参,在定义函数时也不用指明参数的名字和数目。换句话说,定义 Shell 函数时不能带参数...原创 2020-02-12 20:48:15 · 923 阅读 · 0 评论 -
Shell中的数学计算
Shell数学计算(算术运算,加减乘除运算)如果要执行算术运算(数学计算),就离不开各种运算符号,和其他编程语言类似,Shell 也有很多算术运算符,下面就给大家介绍一下常见的 Shell 算术运算符,如下表所示。Shell 算术运算符一览表 算术运算符 说明/含义+、- 加法(或正号)、减法(或负号)*、/、% 乘法、除法、取余(取模)** 幂运算...原创 2020-02-12 18:13:39 · 1116 阅读 · 0 评论 -
Shell中命令的替换
Shell 命令替换是指将命令的输出结果赋值给某个变量。比如,在某个目录中输入 ls 命令可查看当前目录中所有的文件,但如何将输出内容存入某个变量中呢?这就需要使用命令替换了,这也是 Shell 编程中使用非常频繁的功能Shell 中有两种方式可以完成命令替换,一种是反引号` `,一种是$(),使用方法如下:variable=`commands`variable=$(commands)...原创 2020-02-12 18:06:21 · 533 阅读 · 0 评论 -
shell变量的定义
变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则。在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。这意味着,Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,这一点和...原创 2020-02-12 17:57:15 · 287 阅读 · 0 评论 -
shell脚本的运行
运行 Shell 脚本有两种方法,一种在新进程中运行,一种是在当前 Shell 进程中运行在新进程中运行 Shell 脚本在新进程中运行 Shell 脚本有多种方法。1) 将 Shell 脚本作为程序运行Shell 脚本也是一种解释执行的程序,可以在终端直接调用(需要使用 chmod 命令给 Shell 脚本加上执行权限)# 通过这种方式运行脚本,脚本文件第一行的#!/bin/...原创 2020-02-12 17:41:46 · 346 阅读 · 0 评论 -
shell知识介绍
shell脚本在Linux运维工作中的地位shell脚本语言很适合用于处理纯文本类型的数据,而linux系统中几乎所有的配置文件,日志文件,以及绝大多数的启动未及爱你都是纯文本类型的文件,因此学好shell脚本语言,就可以利用它在linux系统中发挥巨大的作用shell脚本语言四弱类型语言(无须定义变量类型即可使用),在Unix/Linux中主要有量大类shell[dd@foundat...原创 2020-02-12 17:29:17 · 252 阅读 · 0 评论