LinuxShell自动化运维-课后习题答案_第1页
LinuxShell自动化运维-课后习题答案_第2页
LinuxShell自动化运维-课后习题答案_第3页
LinuxShell自动化运维-课后习题答案_第4页
LinuxShell自动化运维-课后习题答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LinuxShell自动化运维-课后习题答案1.填空题(1)环境变量、位置变量和预定义变量。(2)脚本名,所有的参数(3)使用read命令赋值、使用命令行的输出结果赋值、从文件读取赋值。hello(5)与,或2.选择题CCB⑷AB.思考题⑴Shell变量的自增运算符是i++和++i,i++表示先赋值再日加,++i表示先自加再赋值。be、expr^let.编程题#当变量a为null时那么var=bvar=${a-b}#当变量a为null或为空字符串时那么var=bvar=${a:-b}printf("\033[字背景颜色;字体颜色m字符串\033[0m”);.填空题(1)顺序语句,分支语句(条件语句),循环语句。2)if[条件表达式]then代码块1else代码块2fi(3)可读性较好,可执行条件一目了然。case变量值in条件表达式1)代码块1条件表达式2)代码块2条件表达式3)代码块3*)无匹配后代码块esacif[条件表达式l];then代码块1elif[条件表达式2];then代码块2elif[条件表达式3);then代码块3else代码块4fi.选择题CAADA.思考题⑴IF语句和CASE语句相比,case语句的可读性较好,它把条件中所有可能出现的情况全部列出来了,可执行条件一FI了然。而且CASE语句的执行过程不像IF语句那样又一个逐项条件顺序比拟的过程。CASE语句中条件句的次序是不重要的,它的执行过程更接近于并行方式。.编程题#!/bin/bash#使用死循环实时显示ethO网卡发送的数据包流量while:doecho,本地网卡ethO流量信息如下:’ifconfigethO|grep“RXpack”|awk'{print$5}'ifconfigethO|grep“TXpack”|awk'{print$5}'sleep1Done1.填空题⑴for变量名in取值列表do循环体donefor循环,while循环、util循环(3)用于守护进程或持续运行的程序,其中循环的次数可以是固定的,也可以不固定。(4)for循环实现、for循环放在后台执行和Linux管道实现高并发(5)有名管道,无名管道.选择题CBBA⑸B.思考题for循环主要用于固定次数的循环,而不是用于守护进程及无限循环,while循环语句主要用来重复执行一组命令或语句,常用于守护进程或持续运行的程序,其中循环的次数可以是固定的,也可以不固定。.编程题#!/bin/bashsource/etc/init.d/functionsforiin10.0.0.{1..22};doping-c1-w1$i&>/dev/null&&action$i&done#!/bin/bash#提取根分区剩余空间disk_size=$(df-h/|awk7V/{pi"int$4}')#提取内存剩余空间disk_size=$(df-h/|awk7V/{print$4}')while:do#注意内存和磁盘提取的空间大小都是以Kb为单位if[$disk_size-Ie512000-a$mem_size-Ie1024000];thenmail-sWarningroot«EOFInsufficientresources,资源缺乏EOFfiDone1.填空题(1)Shell数组是相同数据类型的元素按一定顺序排列的元素集合,把有限个相同类型的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,用于区分不同内容的编号称为数组下标。(2)普通数组关联数组(3)关联数组使用之前需要声明,与普通数组最大的区别是关联数组由特定格式的键值对组成(4)数组的定义方法有直接定义数组、下标定义数组、间接定义数组和从文件中读入定义数组(5)array_name=(valuelvalue2value3)数组名=(变量值1变量值2变量值3。。。。。。)2.选择题⑴ACDAB3.编程题#!/bin/bashusername="mayuan"获取字符串的长度#!/bin/bashusername="mayuan"echo${#username}#6$arry_name[indexl]=valuel$array_name[index2]=value2数组名[下标上变量值1.填空题⑴强制退出最近的一层循环,用于for、wh加、repeat语句中强制退出(2)函数名(){函数要实现的功能代码)或:function函数名{函数要实现的功能代码)⑶函数名参数1参数2(4)传递到脚本的参数个数(5)0-2552.选择题CACDD3.编程题(1)定义在子程序中的变量(2)[root@db02scripts]#catdownload.sh#!/bin/sh[-f/etc/init.d/functions]&&./etc/init.d/functions##加载系统函数库URL=$1##传参DIR=$2if[$#-ne2];then#判断传参个数action"sh$0"/bin/falseecho"Warninglackparameter"echo"USAGE:sh$0WEB_URLDIR_PATH"exit1fidownload(){##定义函数if[!-d$DIR];thenread-p"$DIRnotexistneedcreate?(y/n)"char#read读入if["$char"="y"]##if判断字符串比拟""双引号括起来用=等号比拟then#整数比拟不用引号可以用・eqmkdir$DIR-pcd$DIRwget$URL&>/dev/nullif[$?-ne0];thenreturn"52"#return函数中的返回值,类似于exitfielsereturn"51"fifi)download$URL$DIR##前面download是函数名;$URL位置是函数的第一个参数,也是脚本的第一个参数=$1if($?-eq0];thenaction"wget$URL"/bin/trueelsesleep1action"wget$URL"/bin/falsesleep1exit1fi.填空题一些普通字符一些元字符(metacharacters)。(2)普通字符包括大小写的字母数字,具有特殊的含义(3)最少匹配m次且最多匹配n次⑷匹配x或yo例如,"z|food”能匹配“z”或“food”(此处请谨慎)。“zf]ood”那么匹配"zood”或“food”(5)grep[OPTIONS选项]PATTERN[FILENAMEFILENAME]2.选择题ABDDB3,简答题(1)正那么表达式与扩展正那么表达式类似,只是扩展正那么表达式表达更加简单正那么表达式需要打'转义字符来表示某些字符的意思,而扩展正那么表达式那么不需要:(2)vicheckjp.sh#!/usr/bin/shChecklPAddr()(echo$11grep"a[0-9]\{1,3\}\.\([0-9]\{1/3\}\.\)\{2\}[0-9]\{1/3\}$">/dev/null;#IP地址必须为全数字if[$?-ne0]thenreturn1fiipaddr=$la=echo$ipaddr|awk-F.,{print$11#以".”分隔,取出每个列的值b='echo$ipaddr|awk-F.'{print$2}'、c='echo$ipaddr|awk-F.'{print$3}'xd='echo$ipaddr|awk-F.'{print$4}'、fornumin$a$b$c$ddoif($num-gt255]11[$num-It0)#每个数值必须在0-255之间thenreturn1fidonereturn0)if($#-ne1];then#判断传参数量echo"Usage:$0ipaddress."exitelseChecklPAddr$lFi1.填空题⑴StreamEDitor即流编辑器模式匹配的过滤及修改文本(2)sed一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为模式空间(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容输出到屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等。⑶模式空间(patternspace保持空间又称作暂存缓冲区(holdingspace)。(4)sed[options]commandfilelfile2•••或:sed[options]-fscriptfile⑸3$,.,*,[],1],\<\>,\(\),\{\}2.选择题ACDC⑸B3.简答题(1)第一步:sed每次将标准输入中的内容中的一行读入模式空间。第二步:之后根据模式空间中的匹配条件进行兀配,符合条件进入下一阶段即普通编辑,不满足那么默认至标准输出,结束。第三步:普通编辑之后分三个阶段,(1)普通编辑之后选择性显示至STDOUT,结束;(2)进入holdingspace进行高级编辑,编辑结束后选择性显示至模式空间,之后再次根据编辑命令重复(2)-(3)过程;(3)假设是出现屡次编辑命令那么需要再返回模式空间根据编辑条件再次进行(2)-(3)步骤。(2)sed'l!G;h;$!d'12345.txt.填空题awk的处理文本和数据的流程方式是这样的。它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,那么把匹配的行显示到标准输出(屏幕),如果没有指定模式,那么所有被操作所指定的行都被处理。BEGIN和ENDawk'pattern'filename或:awk'{action}'filename或:awk'pattern{action}'filenameif(条件表达式)语句1else语句2或:if(条件表达式)语句1;else语句2break、continue语句.选择题ABCDC3,简答题ifconfigethO|grep'inetaddr'lawk-F'{print$2}'|awk'{print$1}'arp-n|awk7A[l-9]/{system("arp-d"$!)}'.填空题CPU、网络、磁盘、内存vmstat、sar、iostat、netstat、free、ps、top、mpstat以及第三方开发工具,如:dstatscollect)及开源监控工程tsar等(3)服务器的CPU使用率、内存使用、虚拟内存交换情况、10读写情况。(4)显示了多少进程在等待cpu,多少进程正在不可中断的休眠(等待10)。(5)sar[options][-A][-ofile]t[n]2.选择题AB⑶c⑷B(5)B3.简答题(1)#netstat-iKernelInterfacetableIfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFigethO1500000000000BMUeth2150002619600026883600BMRUIo16436040004000LRU(2)i甲netstat-1Activ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论