SHELL
222
彭淦淦
破烂猴
展开
-
编写安全检测脚本
4.1 问题本案例要求编写脚本,防止远程ssh暴力破解密码,具体监控项目要求如下:检测ssh登录日志,如果远程登陆账号名错误3次,则屏蔽远程主机的IP检测ssh登录日志,如果远程登陆密码错误3次,则屏蔽远程主机的IP4.2 步骤实现此案例需要按照如下步骤进行。步骤一:准备工作1)过滤帐户名失败的命令(登陆日志文件为/var/log/secure)[root@svr5 ~]# aw...原创 2020-04-02 09:57:34 · 306 阅读 · 0 评论 -
编写监控脚本
3.1 问题本案例要求编写脚本,实现计算机各个性能数据监控的功能,具体监控项目要求如下:CPU负载网卡流量内存剩余容量磁盘剩余容量计算机账户数量当前登录账户数量计算机当前开启的进程数量本机已安装的软件包数量3.2 步骤实现此案例需要按照如下步骤进行。步骤一:准备工作1)查看性能数据的命令[root@svr5 ~]# uptime ...原创 2020-04-02 09:52:21 · 1652 阅读 · 0 评论 -
awk扩展应用
2.1 问题本案例要求使用awk工具完成下列两个任务:分析Web日志的访问量排名,要求获得客户机的地址、访问次数,并且按照访问次数排名2.2 方案1)awk统计Web访问排名在分析Web日志文件时,每条访问记录的第一列就是客户机的IP地址,其中会有很多重复的IP地址。因此只用awk提取出这一列是不够的,还需要统计重复记录的数量并且进行排序。通过awk提取信息时,利用IP地址作为数组下...原创 2020-04-02 09:51:03 · 114 阅读 · 0 评论 -
awk流程控制
1.1 问题本案例要求了解awk的流程控制操作,可自行设置awk语句来有验证以下操作:if分支结构(单分支、双分支、多分支)练习awk数组的使用1.2 步骤实现此案例需要按照如下步骤进行。步骤一:awk过滤中的if分支结构1)单分支统计/etc/passwd文件中UID小于或等于1000的用户个数:[root@svr5 ~]# awk -F: '{if($3<=1000)...原创 2020-04-02 09:50:27 · 90 阅读 · 0 评论 -
awk综合脚本应用
4.1 问题本案例要求编写脚本,实现以下需求:找到使用bash作登录Shell的本地用户列出这些用户的shadow密码记录,如图-2所示图-24.2 步骤实现此案例需要按照如下步骤进行。步骤一:任务需求及思路分析编写脚本的任务要求如下:分析出使用bash作登录Shell的本地用户列出这些用户的shadow密码记录按每行“用户名 -- 密码记录”保存结果步骤二:根据实现...原创 2020-04-02 09:47:59 · 82 阅读 · 0 评论 -
awk处理条件
3.1 问题本案例要求使用awk工具完成下列过滤任务,注意awk处理条件的设置:列出UID间于1~1000的用户详细信息输出/etc/hosts文件内以127或192开头的记录列出100以内整数中7的倍数或是含7的数3.2 步骤实现此案例需要按照如下步骤进行。步骤一:认识awk处理条件的设置1)使用正则设置条件输出其中以bash结尾的完整记录:[root@svr5 ~]# a...原创 2020-04-02 09:47:11 · 698 阅读 · 0 评论 -
使用awk提取文本
2.1 问题本案例要求使用awk工具完成下列过滤任务:练习awk工具的基本用法提取本机的网卡流量、根分区剩余容量、获取SSH远程失败的IP地址格式化输出/etc/passwd文件中的用户名、UID、宿主目录信息2.2 步骤实现此案例需要按照如下步骤进行。步骤一:awk文本过滤的基本用法1)基本操作方法格式:awk [选项] ‘[条件]{指令}’ 文件其中,print 是最常用...原创 2020-04-02 09:46:25 · 1229 阅读 · 0 评论 -
sed综合脚本应用
1.1 问题本案例要求编写脚本getupwd.sh,实现以下需求:找到使用bash作登录Shell的本地用户列出这些用户的shadow密码记录按每行“用户名 --> 密码记录”保存到getupwd.log,如图-1所示图-11.2 方案基本思路如下:先用sed工具取出登录Shell为/bin/bash的用户记录,保存为临时文件/tmp/urec.tmp,并计算记录数量再...原创 2020-04-02 09:44:53 · 133 阅读 · 0 评论 -
sed多行文本处理
4.1 问题本案例要求使用sed工具来完成下列任务操作:修改主机名配置文件修改hosts文件,添加两条映射记录:192.168.4.5 与 svr5.tarena.com、svr5,还有119.75.217.56与www.baidu.com4.2 方案sed [选项] ‘条件指令’ 文件…sed工具的多行文本处理操作:i: 在指定的行之前插入文本a:在指定的行之后追加文本c:替...原创 2020-03-09 22:53:51 · 758 阅读 · 0 评论 -
使用sed修改系统配置
3.1 问题本案例要求熟悉课上的sed应用案例,并编写脚本anonftp.sh,实现以下功能:通过yum安装vsftpd软件包修改vsftpd服务配置,开启匿名上传调整/var/ftp/pub目录权限,允许写入启动vsftpd服务,并设置开机自运行3.2 步骤实现此案例需要按照如下步骤进行。步骤一:编写anonftp.sh脚本,用来装配匿名FTP服务1)任务需求及思路分析vs...原创 2020-03-09 22:53:28 · 225 阅读 · 0 评论 -
sed基本用法
2.1 问题本案例要求熟悉sed命令的p、d、s等常见操作,并结合正则表达式,完成以下任务:删除文件中每行的第二个、最后一个字符将文件中每行的第一个、第二个字符互换删除文件中所有的数字为文件中每个大写字母添加括号2.2 方案sed文本处理工具的用法:用法1:前置命令 | sed [选项] '条件指令'用法2:sed [选项] '条件指令' 文件.. ..相关说明如...原创 2020-03-09 22:52:59 · 230 阅读 · 0 评论 -
shell如何使用正则表达式?
1.1 问题本案例要求熟悉正则表达式的编写,完成以下任务:利用egrep工具练习正则表达式的基本用法1.2 方案表-1 基本正则列表表-1 扩展正则列表1.3 步骤实现此案例需要按照如下步骤进行。步骤一:正则表达式匹配练习1)典型的应用场合:grep、egrep检索文本行grep命令不带-E选项时,支持基本正则匹配模式。比如“word”关键词检索、“^word”匹配以wo...原创 2020-03-09 22:51:49 · 858 阅读 · 0 评论 -
7:字符串初值的处理
7.1 问题本案例要求编写一个脚本sumx.sh,求从1-x的和,相关要求如下:从键盘读入x值当用户未输入任何值时,默认按1计算7.2 方案通过${var:-word}判断变量是否存在,决定变量的初始值。7.3 步骤实现此案例需要按照如下步骤进行。步骤一:认识字符串初值的最常见处理方法1)只取值,${var:-word}若变量var已存在且非Null,则返回 $var 的值;否...原创 2020-03-06 22:24:07 · 169 阅读 · 0 评论 -
6:字符串截取及切割
6.1 问题使用Shell完成各种Linux运维任务时,一旦涉及到判断、条件测试等相关操作时,往往需要对相关的命令输出进行过滤,提取出符合要求的字符串。本案例要求熟悉字符串的常见处理操作,完成以下任务练习:参考PPT示范操作,完成子串截取、替换等操作根据课上的批量改名脚本,编写改进版renfilex.sh:能够批量修改当前目录下所有文件的扩展名,修改前/后的扩展名通过位置参数$1、$2提供...原创 2020-03-06 22:21:17 · 803 阅读 · 0 评论 -
5:中断及退出
5.1 问题本案例要求编写两个Shell脚本,相关要求如下:从键盘循环取整数(0结束)并求和,输出最终结果找出1~20以内6的倍数,并输出她的平方值5.2 方案通过break、continue、exit在Shell脚本中实现中断与退出的功能。break可以结束整个循环;continue结束本次循环,进入下一次循环;exit结束整个脚本,案例如下:[root@svr5 ~]# vim ...原创 2020-03-06 22:19:23 · 328 阅读 · 0 评论 -
4:使用Shell函数
4.1 问题本案例要求编写脚本mycolor.sh,相关要求如下:将颜色输出的功能定义为函数调用函数,可以自定义输出内容和颜色4.2 方案在Shell脚本中,将一些需重复使用的操作,定义为公共的语句块,即可称为函数。通过使用函数,可以使脚本代码更加简洁,增强易读性,提高Shell脚本的执行效率1)函数的定义方法格式1:function 函数名 {命令序列… …}格式2:...原创 2020-03-06 22:18:34 · 186 阅读 · 0 评论 -
3:启动脚本如何编写?
3.1 问题本案例要求编写Ngin启动脚本,要求如下:脚本支持start、stop、restart、status脚本支持报错提示脚本具有判断是否已经开启或关闭的功能3.2 步骤实现此案例需要按照如下步骤进行。步骤一:编写脚本脚本通过位置变量$1读取用户的操作指令,判断是start、stop、restart还是status。netstat命令可以查看系统中启动的端口信息,该命令常用...原创 2020-03-06 22:17:58 · 1390 阅读 · 0 评论 -
2.编写一键部署软件脚本
2.1 问题本案例要求编写脚本实现一键部署Nginx软件(Web服务器):一键源码安装Nginx软件脚本自动安装相关软件的依赖包2.2 步骤实现此案例需要按照如下步骤进行。1)依赖包源码安装Nginx需要提前安装依赖包软件gcc,openssl-devel,pcre-devel步骤一:编写脚本1)参考脚本内容如下:[root@svr5 ~]# vim test.sh#!/bi...原创 2020-03-06 22:17:20 · 449 阅读 · 0 评论 -
1.基于case分支编写脚本
1.1 问题本案例要求编写test.sh脚本,相关要求如下:能使用redhat、fedora控制参数控制参数通过位置变量$1传入当用户输入redhat参数,脚本返回fedora当用户输入fedora参数,脚本返回redhat当用户输入其他参数,则提示错误信息1.2 方案case分支属于匹配执行的方式,它针对指定的变量预先设置一个可能的取值,判断该变量的实际取值是否与预设的某一个值相...原创 2020-03-06 22:16:36 · 194 阅读 · 0 评论 -
DAY02:案例4:SHELL中如何使用while循环结构?
4.1 问题本案例要求编写2个使用while循环的脚本程序,分别实现以下目标:提示用户猜测一个随机数,直到才对为止检测192.168.4.0/24网段,列出不在线的主机地址4.2 方案while循环属于条件式的执行流程,会反复判断指定的测试条件,只要条件成立即执行固定的一组操作,直到条件变化为不成立为止。所以while循环的条件一般通过变量来进行控制,在循环体内对变量值做相应改变,以便在...原创 2020-03-05 21:29:51 · 251 阅读 · 0 评论 -
DAY02:案例3:SHELL中如何使用for循环结构?
3.1 问题本案例要求编写一个Shell脚本chkhosts.sh,利用for循环来检测多个主机的存活状态,相关要求及说明如下:对192.168.4.0/24网段执行ping检测脚本能遍历ping各主机,并反馈存活状态执行检测脚本以后,反馈结果如图-1所示。图-13.2 方案在Shell脚本应用中,常见的for循环采用遍历式、列表式的执行流程,通过指定变量从值列表中循环赋值,每次复...原创 2020-03-05 21:27:38 · 171 阅读 · 0 评论 -
DAY02:案例2:SHELL中如何使用if选择结构?
2.1 问题本案例要求编写3个Shell脚本,分别实现以下目标:检测/media/cdrom目录,若不存在则创建检测并判断指定的主机是否可ping通从键盘读取一个论坛积分,判断论坛用户等级,等级分类如下:大于等于90 神功绝世大于等于80,小于90 登峰造极大于等于70,小于80 炉火纯青大于等于60,小于70 略有小成小于60 初学乍练2.2 方案if单分支的语法组成:i...原创 2020-03-05 21:25:07 · 113 阅读 · 0 评论 -
DAY02:案例1:SHLL条件测试操作
1.1 问题本案例要求参考PPT上的示例,分别练习以下条件测试操作:字符串匹配比较整数值的大小识别文件/目录的状态多个条件/操作的逻辑组合1.2 步骤实现此案例需要按照如下步骤进行。步骤一:条件测试的基本用法1)语法格式使用“test 表达式”或者[ 表达式 ]都可以,表达式两边至少要留一个空格。条件测试操作本身不显示出任何信息。测试的条件是否成立主要体现在命令执行后的返回状...原创 2020-03-05 21:22:57 · 186 阅读 · 0 评论 -
SHELL DAY01(05):Shell中的数值运算是怎么实现的?
5.1 问题本案例要求熟悉Linux Shell环境的特点,主要练习以下操作:使用expr、$[ ]、let等整数运算工具:定义变量X=1234,然后计算X与78的四则运算及求模结果使用bc实现小数运算操作:以交互方式计算12.34与56.78的四则运算结果,另外再以非交互方式重复上述计算,最多显示4位小数5.2 步骤实现此案例需要按照如下步骤进行。步骤一:整数运算工具1)使用exp...原创 2020-03-04 20:14:33 · 189 阅读 · 0 评论 -
SHELL DAY01(04):变量的扩展应用是怎么实现的呢?
4.1 问题本案例要求进一步熟悉Shell变量的赋值控制,主要练习或验证下列内容:三种引号对赋值的影响使用read命令从键盘读取变量值使用export发布全局变量4.2 步骤实现此案例需要按照如下步骤进行。步骤一:三种引号对变量赋值的影响1)双引号的应用使用双引号可以界定一个完整字符串。[root@svr5 ~]# xx=Tarena IT Group-bash: IT: c...原创 2020-03-04 20:12:19 · 147 阅读 · 0 评论 -
SHELL DAY01(03):如何使用Shell变量呢?
3.1 问题本案例要求熟悉Shell变量的使用,主要练习或验证下列内容:定义/赋值/查看变量环境/预定义/位置变量的应用除了学会建立和引用变量以外,还要认识环境变量PWD、USER、HOME、SHELL,还有预定义变量0、0、0、、、、?、KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲、*,以及位置变量$1、$2、$...原创 2020-03-04 20:09:00 · 145 阅读 · 0 评论 -
SHELL DAY01(02):一篇文章教会你简单Shell脚本是如何设计的?
2.1 问题本案例要求编写三个脚本程序,分别实现以下目标:在屏幕上输出一段文字“Hello World”能够为本机快速配好Yum仓库能够为本机快速装配好vsftpd服务2.2 方案一个规范的Shell脚本构成包括:脚本声明(需要的解释器、作者信息等)注释信息(步骤、思路、用途、变量含义等)可执行语句(操作代码)2.3 步骤实现此案例需要按照如下步骤进行。步骤一:编写第一个S...原创 2020-03-04 20:05:33 · 209 阅读 · 0 评论 -
SHELL DAY01(01):Shell脚本的基础使用!
1.1 问题本案例要求熟悉Linux Shell环境的特点,主要练习以下操作:切换用户的Shell环境练习命令历史、命令别名重定向标准输入/输出/错误输出管道操作实践1.2 步骤实现此案例需要按照如下步骤进行。步骤一:切换用户的Shell环境什么是shell?Shell是在Linux内核与用户之间的解释器程序,通常指的是bash,负责向内核翻译及传达用户/程序指令,如图-1所示...原创 2020-03-04 20:00:03 · 223 阅读 · 0 评论