linux操作系统实验三.docx
- 文档编号:4267353
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:11
- 大小:413.66KB
linux操作系统实验三.docx
《linux操作系统实验三.docx》由会员分享,可在线阅读,更多相关《linux操作系统实验三.docx(11页珍藏版)》请在冰豆网上搜索。
linux操作系统实验三
实验三LINUXSHELL脚本程序设计
一、实验目的
通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL程序设计的基础知识。
对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理解。
通过本实验,学生应能够基本掌握编写SHELL程序的步骤、方法和技巧。
二、实验环境
操作系统:
任何Unix/Linux及SunSolaris或windows系列
应用系统:
SHELL或windows环境下的cygwin模拟系统
三、实验内容
本实验包含三个具体的SHELL程序编写任务,较为全面地涉及了SHELL程序的设计方法和技术。
内容如下:
⑴创建以下菜单程序:
USER:
****HOST:
********DATE:
**/**/20**
A:
创建子目录并复制文件
B:
文件权限测试
C:
文件字符转换
D:
文件总数及文本行数统计
E:
文件查找
Q:
退出系统
———————————————————————————————
A:
在用户家目录下创建名字为本人姓名的子目录,其存取权限为(drwxr-xr-x)。
测试目录确实存在后,将已存在的file1、file2两文件拷入其中并分别显示两文件的内容。
显示完成后将file1、file2两文件截断为大小为0的空文件。
B:
测试当前用户对系统中某文件是否有r、w、x的权限,输出测试结果。
C:
将file1、file2两文件中的小写字符转换为大写,并将转换后的内容分别写入新文件。
判断上述操作成功后分别显示转换后的新文件的内容。
D:
统计/dev目录下目录文件和符号链接文件的数目;统计系统中某文本文件中空行的行数;显示当前系统中所有环境变量。
E:
在/dev目录下查找由s开头且文件名由5个字符组成的文件,找到后用file命令显示其文件类型。
yxh@Cancer:
~$#!
/bin/sh
yxh@Cancer:
~$MYDATE='2016-11-01'
yxh@Cancer:
~$THIS_HOST='yxh'
yxh@Cancer:
~$USER='yinxiaohang'
yxh@Cancer:
~$while:
>do
>tputclear
>cat< >------------------------------------------------------------------------------User: $USERHost: $THIS_HOSTDate: $MYDATE------------------------------------------------------------------------------A: 创建子目录并复制文件B: 文件权限测试C: 文件字符转换D: 文件总数及文本行数统计E: 文件查找Q: 退出系统------------------------------------------------------------------------------ >MAYDAY >echo-e-n"\tYourChoice[A,B,C,D,E,Q]: " >readCHOICE >case$CHOICEin >A|a)mkdir--mode=755/home/yxh/test/yinxiaohang >iftest-d"/home/yxh/test/yinxiaohang" >thencpfile1file2/home/yxh/test/yinxiaohang >catfile1 >catfile2 >: >/home/yxh/test/yinxiaohang/file1 >cat/home/yxh/test/yinxiaohang/file1 >: >/home/yxh/test/yinxiaohang/file2 >cat/home/yxh/test/yinxiaohang/file2 >elseechofile1isnotafilename >fi >;; >B|b)if[-ffile1] >thentest-rfile1-a-wfile1-a-xfile1 >ls-lfile1 >elseechofile1donotrwx >fi >;; >C|c)tr'a-z''A-Z' >tr'a-z''A-Z' >iftest-f1-a2 >thencat1 >cat2 >elseechofail! >fi >;; >D|d)ls-l/dev >ls-l/dev|grep^d|wc-l >ls-l/dev|grep^l|wc-l >cat3 >cat3|grep'^$'|wc-l >env >;; >E|e)find/dev-name"s[a-z][a-z][a-z][a-z]" >find/dev-name"s[a-z][a-z][a-z][a-z]">4 >var=$(cat4) >file-b${var%%.*} >;; >Q|q)exit0 >;; >*)echo-e"\t\007unknownuserreponse" >;; >esac >echo-e-n"\tHitthereturnkeytocontinue" >readDUMMY >done ⑵文件pc.txt中保存了三个班级的学生选课成绩,试编写一段shell程序对文件内容进行统计、计算后输出各个班级选课的学生人数及每班选课成绩的优秀率。 pc.txt文件内容如下: student1: 1301: 75 Student2: 1302: 96 Student3: 1303: 99 Student4: 1302: 93 Student5: 1303: 23 Student6: 1301: 77 yxh@Cancer: ~$#! /bin/bash yxh@Cancer: ~$PASS1=0; yxh@Cancer: ~$PASS2=0; yxh@Cancer: ~$PASS3=0; yxh@Cancer: ~$NUMBER1=0; yxh@Cancer: ~$NUMBER2=0; yxh@Cancer: ~$NUMBER3=0; yxh@Cancer: ~$SAVEDIFS=$IFS yxh@Cancer: ~$IFS=: yxh@Cancer: ~$whilereadNAMECLASSSCORE >do >case$CLASSin >1301) >NUMBER1=`expr$NUMBER1+1` >if[$SCORE-ge90] >thenPASS1=`expr$PASS1+1` >fi >;; >1302) >NUMBER2=`expr$NUMBER2+1` >if[$SCORE-ge90] >thenPASS2=`expr$PASS2+1` >fi;; >1303) >NUMBER3=`expr$NUMBER3+1` >if[$SCORE-ge90] >thenPASS3=`expr$PASS3+1` >fi >;; >*) >echo"FAIL! " >;; >esac >done yxh@Cancer: ~$echo$PASS1 0 yxh@Cancer: ~$echo$PASS2 2 yxh@Cancer: ~$echo$PASS3 1 yxh@Cancer: ~$PASS1=$(echo"$PASS1/$NUMBER1+$PASS1%$NUMBER1*0.50"|bc|awk'{printf"%.2f",$0}') yxh@Cancer: ~$PASS2=$(echo"$PASS2/$NUMBER2+$PASS2%$NUMBER2*0.50"|bc|awk'{printf"%.2f",$0}') yxh@Cancer: ~$PASS3=$(echo"$PASS3/$NUMBER3+$PASS3%$NUMBER3*0.50"|bc|awk'{printf"%.2f",$0}') yxh@Cancer: ~$echo"1301$NUMBER1$PASS1" 130120.00 yxh@Cancer: ~$echo"1302$NUMBER2$PASS2" 130221.00 yxh@Cancer: ~$echo"1303$NUMBER3$PASS3" 130320.50 yxh@Cancer: ~$IFS=$SAVEDIFS ⑶认真学习、理解find和grep(家族)命令,编制两个个性化的文件搜索工具。 while: >do >tputclear >cat< > >***********************************A: 按文件内容查找文件并显示其路径B: 按文件名查找文件并显示其路径*********************************** >MAYDAY >echo-e-n"\t请选择AORB: " >readCHOICE >case$CHOICEin >A)read-p"请输入字符串: "val >find.|xargsgrep-ri"$val"-l >;; >B)read-p"请输入文件名: "val >find.-name"*$val*" >;; >*)echo-e"\t\007FAIL! " >;; >esac >echo-e-n"\tHitthereturnkeytocontinue" >readDUMMY >done
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 操作系统 实验