LinuxShell自动化运维-课后习题答案.docx_第1页
LinuxShell自动化运维-课后习题答案.docx_第2页
LinuxShell自动化运维-课后习题答案.docx_第3页
LinuxShell自动化运维-课后习题答案.docx_第4页
LinuxShell自动化运维-课后习题答案.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、LinuxShell自动化运维-课后习题答案1. 填空题环境变量、位置变量和预定义变量。(1) 脚本名,所有的参数使用read命令赋值、使用命令行的输出结果赋值、从文件读取赋值。(2) hello与,或2. 选择题CCBAB3. 思考题Shell变量的自增运算符是i+和+i,i+表示先翩值再自加,+i表示先白加再赋值。(2) be、exprlet编程题(1) #当变量a为null时则var=bvar=$a-b#当变量a为null或为空字符串时则var=bvar=$(a:-b)(2) printf("033字背景颜色;字体颜色m字符串0330m”);填空题(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语句的可读性较好,它把条件中所有可能出现的情况全部列出来了,可执行条件一目了然。而且CASE语句的执行过程不像IF语句那样又一个逐项条件顺序比较的过程。CASE语句中条件句的次序是不重要的,

3、它的执行过程更接近于并行方式。1. 编程题(1) #!/bin/bash#使用死循环实时显示ethO网卡发送的数据包流量while:doecho,本地网卡ethO流量信息如下:ifconfigethO|grep"RXpack”|awk'print$5'ifconfigethO|grep“TXpack"|awk'print$5'sleep1Done1. 填空题for变量名in取值列表do循环体done(2) for循环,while循环、util循环用于守护进程或持续运行的程序,其中循环的次数可以是固定的,也可以不固定。(3) for循环实现、f

4、or循环放在后台执行和Linux管道实现高并发有名管道,无名管道2. 选择题CBB(4)AB3. 思考题for循环主要用于固定次数的循环,而不是用于守护进程及无限循环,while循环语句主要用来重复执行一组命令或语句,常用于守护进程或持续运行的程序,其中循环的次数可以是固定的,也可以不固定。4. 编程题(1) #!/bin/bashsource/etc/init.d/functionsforiin10.0.0.1.22;doping-c1-w1$i&>/dev/null&&action$i&done(2) #!/bin/bash#提取根分区剩余空间disk

5、_size=$(df-h/|awk7V/pi"int$4)')#提取内存剩余空间disk_size=$(df-h/|awk7V/(print$4)')while:do#注意内存和磁盘提取的空间大小都是以Kb为单位if$disk_size-le512000-a$mem_size-le1024000;thenmail-sWarningroot«EOFInsufficientresources,资源不足EOFfiDone1. 填空题Shell数组是相同数据类型的元素按一定顺序排列的元素集合,把有限个相同类型的变量用一个名字命名,然后用编号区分他们的变量的集合,这个

6、名字称为数组名,用于区分不同内容的编号称为数组下标。(1) 普通数组关联数组关联数组使用之前需要声明,与普通数组最大的区别是关联数组由特定格式的键值对组成(2) 数组的定义方法有直接定义数组、下标定义数组、间接定义数组和从文件中读入定义数组array_name=(valuelvalue2value3)数组名=(变量值1变量值2变量值3oooooo)选择题(1)ACD(4)AB3.编程题(1) #!/bin/bashusername="mayuan"获取字符串的长度#!/bin/bashusername="mayuan"echo$(#username#6(

7、2) $arry_nameindexl=valuel$array_nameindex2=value2数组名下标=变量值填空题强制退出最近的一层循环,用于for、while>repeat语句中强制退出函数名()函数要实现的功能代码)或:function函数名函数要实现的功能代码函数名参数1参数2(4) 传递到脚本的参数个数0-2551. 选择题CACDD2. 编程题(1) 定义在子程序中的变量(2) rootdb02scripts#catdownload.sh#!/bin/sh-f/etc/init.d/functions&&./etc/init.d/functions#加

8、载系统函数库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"$charH="y"#if判断字符串比较双引号括起来用=等号比较then#整

9、数比较不用引号可以用-eqmkdir$DIR-pcd$DIRwget$URL&>/dev/nullif$?-ne0;thenreturn"52"#return函数中的返回值,类似于exitfielsereturn"51"fifidownload$URL$DIR#前面download是函数名;$URL位置是函数的第一个参数,也是脚本的第一个参数=$1if$?-eq0;thenaction"wget$URL"/bin/trueelsesleep1action"wget$URL"/bin/falseslee

10、p1exit1fi填空题(1) 一些普通字符一些元字符(metacharacters)。(2) 普通字符包括大小写的字母数字,具有特殊的含义最少匹配m次且最多匹配n次(3) 匹配x或y。例如,“z|food”能匹配"z”或“food”(此处请谨慎)。"zfood”则匹配"zood”或“food”grepOPTIONS选项PATTERNFILENAMEFILENAME1. 选择题ABDDB3, 简答题(1)正则表达式与扩展正则表达式类似,只是扩展正则表达式表达更加简单正则表达式需要打'转义字符来表示某些字符的意思,而扩展正则表达式则不需要:(2)vichec

11、kjp.sh#!/usr/bin/shChecklPAddr()(echo$11grep"0-91,3.(0-91,3.)20-91,3$">/dev/null;#IP地址必须为全数字if$?-ne0thenreturn1fiipaddr=$la=echo$ipaddr|awk-F.print$1'、#以”.“分隔,取出每个列的值b='echo$ipaddr|awk-F.'print$2'、c='echo$ipaddr|awk-F.'(print$3)'xd=echo$ipaddr|awk-F.'(pri

12、nt$4'、fornumin$a$b$c$ddoif($num-gt25511$num-It0)#每个数值必须在0-255之间thenreturn1fidonereturn0if($#-ne1;then#判断传参数量echo"Usage:$0ipaddress."exitelseChecklPAddr$lFi1. 填空题StreamEDitor即流编辑器模式匹配的过滤及修改文本(2)sed-次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为模式空间(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容输出到屏幕。接着

13、处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等。模式空间(patternspace)、保持空间又称作暂存缓冲区(holdingspace)。(4) sedoptionscommandfilelfile2或:sedoptions-fscriptfile人,$,.,*,,f,<>,(),2. 选择题ACD(4)CB3. 简答题第一步:sed每次将标准输入中的内容中的一行读入模式空间。第二步:之后根据模式空间中的匹附条件进行匹配,符合条件进入下一阶段即普通编辑,不满足则默认至

14、标准输出,结束。第三步:普通编辑之后分三个阶段,(1)普通编辑之后选择性显示至STDOUT,结束;(2)进入holdingspace进行高级编辑,编辑结束后选择性显示至模式空间,之后再次根据编辑命令重复(2)-(3)过程;(3)若是出现多次编辑命令则需要再返回模式空间根据编辑条件再次进行(2)-(3)步骤。(1) sed'l!G;h;$!d'12345.txt填空题(1) awk的处理文本和数据的流程方式是这样的。它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,

15、则所有被操作所指定的行都被处理。(2) BEGIN和ENDawk'pattern'filename或:awk'action'filename或:awk'patternaction'filenameif(条件表达式)语句1else语句2或:if(条件表达式)语句1;else语句2break、continue语句1. 选择题ABCDC3, 简答题(1) ifconfigethO|grep'inetaddr'|awk-F'(print$2'|awk'print$1'(2) arp-n|awk7Al-9/(

16、system("arp-d"$!)'填空题CPU、网络、磁盘、内存vmstat、sar、iostat、netstat、free、ps、top、mpstat以及第三方开发工具,如:dstat、collect!及开源监控项目tsar等(1) 服务器的CPU使用率、内存使用、虚拟内存交换情况、10读写情况。(2) 显示了多少进程在等待cpu,多少进程正在不可中断的休眠(等待10)。(3) saroptions-A-ofiletn选择题ABcBB简答题(1)#netstat-iKernelInterfacetableIfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFigethO1500000BMUeth215000261960BMRUIo16436040LRU(2)i#netstat-1ActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddresstcp00localhost:ipptcp600localhost:ippudp00*:49119ethO1500000BMUeth215000261960BMRUIo16436040LRU(2)i#netstat-1Act

温馨提示

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

评论

0/150

提交评论