shell
linux shell 编程
_nigar
每一天都值得被认真对待
展开
-
sed练习
sed练习自定义一个文件1.删除前三行打印第5到10行删除含有Lane的所有行把/etc/passwd复制到/root/est.txt,用sed打印所有行删除test.txt的15行以及以后所有行替换test.txt中’/sbin/nologin’为’/bin/login’删除test.txt中5到10行中所有的数字sed '1,3d' test1sed -n '5,10...原创 2020-02-16 18:20:40 · 332 阅读 · 0 评论 -
shell脚本随机数练习
shell脚本随机数练习练习1使用for循环在/westos目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串westos#!/bin/bashpath=/westos[ -d "$path" ] || mkdir -p $pathfor n in `seq 10`do random=$(openssl rand -base64 40|sed ...原创 2020-02-16 18:03:27 · 323 阅读 · 0 评论 -
shell---服务启动脚本的编写
shell—服务启动脚本的编写1.安装nginx首先在官网获得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 && ma...原创 2020-02-16 17:31:50 · 362 阅读 · 0 评论 -
shell---服务监控
shell—服务监控文章目录shell---服务监控1.端口监控- 服务器本地监控端口- 在远程服务器监控本地端口2.对服务进程或进程数进行监控3.开发监控mysql数据库的脚本监测mysql数据库异常1.端口监控- 服务器本地监控端口在服务器本地监控端口的命令有:netstat ss lsofnetstat:netstat -antlpe | grep mysqlnetstat ...原创 2020-02-16 16:40:21 · 513 阅读 · 0 评论 -
shell---系统文件加密
shell—系统文件加密监控web站点目录下的所有文件是否被恶意篡改(文件内容被更改)1.建立初始指纹库和文件库在企业网站发布代码之后,即对所有网站数据建立初始指纹库和文件库,没有基础的指纹库,无法进行入侵监测step1 建立测试数据:mkdir /var/html/www -pcp -a /etc/a* /var/html/www/cp -a /etc/b* /var/html/w...原创 2020-02-16 16:27:38 · 351 阅读 · 0 评论 -
linux系统产生随机数
linux系统产生随机数1.通过系统环境变量($RANDOM)实现echo $RANDOM注意:RANDOM随机数范围为0~32767,因此,它的加密性不是很好解决方法:通过再输出随机数后增加加密字符串,再一起执行md5sum操作并截取结果的后n位echo "nigar-haha$RANDOM"echo "nigar-haha$RANDOM" | md5sumecho "niga...原创 2020-02-16 16:15:59 · 322 阅读 · 0 评论 -
shell---安全校验md5
shell—安全校验md51.md5sum命令md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。注意:1.此处校验的是文件的内容,与文件名无关。文件内容相同,md5值相同2.md5值是一个128位的二进制数据,转换成16进制则是32位的进制值在网络传输时,我们校验源文件获得其md5sum,传输完毕后,校验其目标文件,并对比如果源文件和目标文件md5一值的话,则...原创 2020-02-16 16:11:11 · 1707 阅读 · 0 评论 -
shell中的awk命令
shell中的awk命令文章目录shell中的awk命令1.1.原创 2020-02-16 15:57:06 · 837 阅读 · 0 评论 -
shell中正则表达式的扩展
shell中正则表达式的扩展文章目录shell中正则表达式的扩展1.`?`符号2.`+`符号3.`()`符号和`|`符号awk,perl等还支持正则表达式扩展出来的一些元字符1.?符号? 匹配?符号之前的那个字符0次或1次IN?T 表示匹配N字符0次或1次,即INT或INNT注意:?最多只能匹配1个字符2.+符号+与*类似,都是匹配其前面的那个字符多次但*符号可以匹配0次,而...原创 2020-02-15 23:52:45 · 121 阅读 · 0 评论 -
shell中的sed命令
shell中的sed命令文章目录shell中的sed命令1.sed是什么2.标记替换- 单句替换- 对于整个文件进行替换- 指定行替换- 同时进行多个替换- 使用文件中指定命令替换另一文件- 当每句中含有多个要替换的关键字时3.参数p和-n:显示4.参数w:写入文件5.要替换部分中含有/符号时的解决- 方法1:用\转义符号进行转义- 方法2:将修改格式中的/改为!- 方法3:将修改格式中的/改为...原创 2020-02-15 23:48:36 · 1409 阅读 · 0 评论 -
shell中的grep命令
shell中的grep命令1.grep命令grep命令是一种强大的文本搜索工具,根据用户指定的“模式”对目标文本进行匹配检查,打印匹配到的行模式:由正则表达式或者字符及基本文本字符所编写的过滤条件grep命令的基本用法参数说明-c只输出匹配行的数量-i搜索时忽略大小写-h查询多文件时不显示文件名-l只列出符合匹配的文件名,而不列出具体的匹配行...原创 2020-02-14 18:14:11 · 1457 阅读 · 0 评论 -
shell中的正则表达式
shell中的正则表达式1.正则表达式linux shell以一串字符作为表达式向系统传达意思,元字符是用来解释字符表达意义的字符。简单来说:元字符就是描述字符的字符,它用于对字符表达式的内容,转化以及各种操作信息进行描述,正则表达式是由一串字符和元字符构成的字符串,它的功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合正则表达式数据处理过程:2.*符号* 匹配前面一个普通...原创 2020-02-14 17:54:36 · 301 阅读 · 0 评论 -
shell中常用的命令---xargs命令
shell中常用的命令—xargs命令1.xargs的功能xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具xargs可以将管道或标准输入数据转换成命令行参数,也能够从文件的输出中读取数据xargs也可以将单行或多行文本输入转换为其他格式(多行变单行,单行变多行)xargs默认的命令是echo,这以为这通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs...原创 2020-02-14 17:37:40 · 346 阅读 · 0 评论 -
shell中常用的命令---tr命令
shell中常用的命令—tr命令1.tr命令的用法tr命令主要功能是转化参数说明-c -C字符串替换,要求字符集为ASCII-d删除字符-s删除所有重复出现字符序列,只保留第一个(即将重复出现字符压缩为一个字符串)-t删除第一字符集较第二字符集多出的字符参数说明[:gidit:]所有数字[:graph:]所有可...原创 2020-02-14 17:20:57 · 551 阅读 · 0 评论 -
shell中常用的命令---join命令
shell中常用的命令—join命令1.连接内连接:将两个文件中每列第一个字符相同的行合并全连接(显示左边和右边所有记录)join file1 file2 #内连接:将两个文件中每列第一个字符相同的行合并join -a1 file1 file2 #显示左边文件中的所有记录(右边文件中没有匹配的不显示)join -a2 file1 file2 #显示右边文件中的所有记录(左边文件...原创 2020-02-14 17:10:44 · 344 阅读 · 0 评论 -
shell中常用的命令---seq命令
shell中常用的命令—seq命令1.seq命令的用法seq:squeue 是一个序列的缩写主要用来输出序列化的东西用法:seq ... 尾数seq ... 首数 尾数seq ... 首数 增量 尾数参数说明-f (--format)格式:使用printf样式的浮点格式-s(--separator)字符串:使用指定字符串分隔数字(默认使用:\n)...原创 2020-02-14 16:57:43 · 932 阅读 · 0 评论 -
shell中常用的命令---sort和uniq
shell中常用的命令—sort和uniq1.sort和uniqsort命令通常用来排序uniq命令对重复字符做相应的处理参数说明sort -n纯数字排序sort -r倒序sort -u去掉重复数字sort -o输出到指定文件中sort -t指定分隔符sort -k指定要排序的列uniq -u显示唯一的行uniq ...原创 2020-02-14 16:48:28 · 276 阅读 · 0 评论 -
shell中常用的命令---cut命令
shell中常用的命令—cut命令1.cut命令cut命令通常用来截取参数说明-c指定截取字符的位置-d指定分隔符-f指定要截取的列2.使用cut命令cp /etc/passwd .cut -d : -f 1 passwd #以:为分隔符 截取passwd文件第一列的内容cut -d : -f 1,3 passwd #以:为分隔符 截取pa...原创 2020-02-14 16:37:21 · 1712 阅读 · 0 评论 -
shell中常用的命令---diff和patch
shell中常用的命令—diff和patch1. diff用法diff file1 fil2以后面的文件file2作为标准 比较file1相对于file2来说有什么不同< 表示第一个文件中的内容> 表示第二个文件中的内容a表示添加–addc表示更改–changed表示删除–delete[root@node2 diff-patch]# cat file11234h...原创 2020-02-14 16:31:07 · 213 阅读 · 0 评论 -
shell中的环境变量
shell中的环境变量文章目录shell中的环境变量1.环境变量2.创建环境变量- `export 变量名=value`- `declare -x 变量名=value`- `变量名=value;export 变量名`3.取消环境变量4.全局变量5.常用的系统自带的环境变量1.环境变量环境变量也称为全局变量,可以在创建他们的shell及其派生出来的任意子进程shell中使用环境变量可以分为自...原创 2020-02-14 16:17:41 · 389 阅读 · 0 评论 -
数组的练习
数组的练习练习1:使用循环批量输出数组的元素#!/bin/bash#使用循环批量输出数组的元素array=(a b c d e)for ((i=0;i<${#array[@]};i++)) #从数组的第一个下标0开始,循环数组的所有下标do echo ${array[i]} #打印数组元素done练习2:通过竖向列举方法定义数组元素并批量打印#!/bin/bash#...原创 2020-02-14 16:07:09 · 145 阅读 · 0 评论 -
shell数组
shell数组文章目录shell数组1.shell数组2.数组的定义- 用小括号将变量值括起来赋值给数组变量- 采用键值对的形式赋值- 通过分别定义数组变量的方法来定义- 动态地定义数组变量3.数组的打印4.数组的赋值5.数组的删除6.数组内容的截取和替换- 截取- 替换1.shell数组shell数组:是若干数据的集合,其中的每一份数据都称为元素shell数组元素的下标也是从0开始计数...原创 2020-02-14 16:01:44 · 512 阅读 · 0 评论 -
shell中的select in语句
shell中的select in语句1.select in 用法select in循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。select in 是shell独有的一种循环,非常适合终端(Terminal)这样的交互场景。其他语言是没有的格式:select variable in value_listdo statement...原创 2020-02-14 15:37:33 · 361 阅读 · 0 评论 -
shell中的case in语句
shell中的case in 语句1.case in 的用法格式:case expression in pattern 1) statement1 ;; pattern 2) statement2 ;;…… *) statementnesac 其中:case in 和esac都是shell关键字,expression表示表达式,pattern表示匹配模式e...原创 2020-02-14 15:26:02 · 302 阅读 · 0 评论 -
shell中的for循环
shell中的for循环文章目录shell中的for循环1.C语言风格的for循环2.C语言风格for循环的例子3.python风格的for in循环4.python风格for循环的例子1.C语言风格的for循环格式:for ((exp1;exp2;exp3))do statementsdone运行过程:先执行exp1;再执行exp2,如果它的判断结果成立,则执行循化体中的...原创 2020-02-14 15:02:56 · 473 阅读 · 0 评论 -
shell中的until循环
shell中的until循环1.until循环until循环和while循环恰好相反:当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环格式:until conditiondo statementsdone注意:在until循环体中必须有相应的语句使得condition越来越趋近于“成立”,只有这样才能最终退出循环,否则until就成了死循环...原创 2020-02-14 00:07:44 · 648 阅读 · 0 评论 -
shell中的while循环
shell中的while循环文章目录shell中的while循环1.while循环2.计算1到100的和3.计算从m加到n的值4.实现简单加法计算器1.while循环while循环是shell脚本中最简单的一种循环:当条件满足时,while重复地执行一组语句,当条件不满足时,就退出while循环格式:while conditiondo statementsdonecondit...原创 2020-02-13 23:55:24 · 12840 阅读 · 0 评论 -
shell中if语句---test之文件比较
shell中if语句—test之文件比较文章目录shell中if语句---test之文件比较1.文件比较2.检查file是否存在并是一个目录3.-e检查file是否存在4.-f检查file是否存在并是一个文件5.-r检查文件是否存在并可读6.-s检查文件是否存在并为非空7.-w检查文件是否存在并可写8.-x检查文件是否存在并可执行9.-O检查file是否存在并属当前用户所有10.-G检查文件是否...原创 2020-02-12 21:24:24 · 632 阅读 · 0 评论 -
shell中if语句---test之字符串比较
shell中if语句—test之字符串比较1.字符串比较比较说明str1 = str2检查str1是否和str2相同str1 != str2检查str1是否和str2不同str1 < str2检查str1是否比str2小str1 > str2检查str1是否比str2大-n str1检查str1的长度是否非0-z str1...原创 2020-02-12 21:00:54 · 13262 阅读 · 0 评论 -
shell中if语句--test之数值比较
shell中if语句–test之数值比较1.test命令test是shell内置命令,用来检测某个条件是否成立test通常和if语句一起使用,并且大部分if语句都依赖testshell test命令的用法有两种:第一种:test expression第二种:[ expression ]注意:1.当test判断expression成立时,退出状态为0,否则为非0值2.[ ]和...原创 2020-02-12 20:28:43 · 2560 阅读 · 0 评论 -
shell中的if语句
shell中的if语句文章目录shell中的if语句1.if语句的基本格式2.if-else语句3.if-elif-else语句1.if语句的基本格式if condition #如果满足condition条件then statement(s) #就执行statement(可以有多个)fi注意:这里的then和if可以位于一行,位于一行时condition后要加分号:if con...原创 2020-02-12 20:07:52 · 491 阅读 · 0 评论 -
shell中的函数
shell中的函数文章目录shell中的函数1.shell函数格式2.函数的调用3.函数的参数1.shell函数格式shell函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好,放在指定位置,使用时直接调用即可。shell中的函数和C++、JAVA、Python等其他编程语言中的函数类似,只是在语法中有所差别。shell函数定义的语法格式:function name() {...原创 2020-02-12 19:45:44 · 7671 阅读 · 1 评论 -
shell常用命令---alias
shell常用命令—alias文章目录shell常用命令---alias1.alias的功能1.alias的功能原创 2020-02-04 17:58:15 · 704 阅读 · 0 评论 -
shell常用命令---read
shell常用命令—read文章目录shell常用命令---read1.read命令的功能1.read命令的功能原创 2020-02-04 17:28:41 · 630 阅读 · 0 评论 -
shell常用命令---echo
shell常用命令—echo文章目录shell常用命令---echo1.-n表示不换行1.-n表示不换行原创 2020-02-04 17:18:44 · 217 阅读 · 0 评论 -
shell中的字符串
shell中的字符串文章目录shell中的字符串1.字符串的占位1.字符串的占位原创 2020-02-03 18:30:44 · 223 阅读 · 0 评论 -
shell中函数的定义 if语句 for循环 while循环
shell中函数的定义 if语句 for循环 while循环文章目录shell中函数的定义 if语句 for循环 while循环1.函数的定义2.if语句3.for循环4.while循环1.函数的定义举例:#!/bin/bashfoo(){ #定义函数 echo $*}bar(){ #定义函数 echo $@}foo 1 2 3 4 #调用函数bar...原创 2020-02-03 16:05:22 · 377 阅读 · 0 评论 -
shell中的特殊参数
shell中的特殊参数文章目录shell中的特殊参数1.位置参数 $ 变量名2.$0 获取脚本的名称及路径3.$#获取脚本传参的个数4.set设置位置参数(同命令脚本传参)5. $ * 和$ @的区别6.shift用于参数的移动1.位置参数 $ 变量名2.$0 获取脚本的名称及路径3.$#获取脚本传参的个数4.set设置位置参数(同命令脚本传参)5. $ * 和$ @的区别6.shi...原创 2020-02-03 15:49:58 · 427 阅读 · 0 评论 -
shell中的数学运算
shell中的数学运算文章目录shell中的数学运算1.运算符及其说明2.数学计算命令3.双小括号法:(( ))4.let命令5.expr命令6.bc命令7.$[ ]方法1.运算符及其说明运算符说明+、-加法(正号)、减法(负号)*、/、%乘法、除法、取余**幂运算++、–自增、自减(可以放在变量的前面或后面)!、&&、||...原创 2020-02-02 22:06:39 · 320 阅读 · 0 评论 -
shell命令的替换
shell命令的替换文章目录shell命令的替换1.命令的替换2.date命令3.ls命令1.命令的替换shell命令替换是指将命令的输出结果赋值给某个变量替换方法:反引号``$( )variable=`commands`variable=$(commands)其中variable是变量名,commands是要执行的命令commands可以只有一个命令,也可以有多个命令,...原创 2020-02-02 18:59:43 · 484 阅读 · 0 评论