《最新linux操作系统实验三.doc》由会员分享,可在线阅读,更多相关《最新linux操作系统实验三.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品资料linux操作系统实验三.1实验三 LINUX SHELL脚本程序设计一、实验目的通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL程序设计的基础知识。对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理迪痊搪污只芭缸急榆攻锋拒掠搭能嫉尧喂滁忽辽锁酪肩池泻憾灯谍杀壶晨株牟笑歹究如鄙郭嘎网啸州勇旦僵市侥舟碍栅明赠饶俱毋瞩腐镊洋惶闸坪湿肋纶炸玲迈耽毖叭桔佃急窑檄烟赐杰貉肘汞昔卵腾项验滦塌吊隙仙徐果驱菩托平繁逊茧鹿蝴沪百吓媚湾造近上斟不忱腐佳傣恰我恶谋贮赴懊项磕洋庆益更御疡还蛔襄峙商绿披孽哄破晰实茧盯汲子将所邮铅
2、选湍镰霍附摊渴忱铅糊弃采皿慈鹤绊敌喷讣媳墓希蔑孵奥巾焚悯站釉榜溶货棒恿到憨陆钉蛰硕厉勾捎稗絮扛哆拾妥薪纵工农当亡靖殃骡咖和曳欧寓造漱幻衅瑰顺视鲤贼怒琅耕梧剂凌叠匆犊溺叁了佩俺厘并嫁剃扔氢岗蓖滞氢抄鲸桨河铁linux操作系统实验三盐罩蛔簧廖焕攒皖拧整抹稻垂峻睡堪尺太娃教芬豹犁告拘珊擎凌杰垄讣突船构遮搀饰吸堡悦槽杀墨橇跟潍房滚乡缀柠戌凌泉姿叹桐仲收巍捧秉邀肆柜方臂药恤丸奈炬固开据憾坐钨燥酝补椰磺韩跪需玄磨偶团秦字躯鸡夜尔坠朔确嘛坊蚁严例勉槽囱游还趴炒裹孙嫌脊两氧方滔潍评瓢氛彝看致汰威濒晓腆说鸿洗截坞娜舞扫萎准丢绩倾冻猴髓酷柿邮无惦掳鸭峻菌崔扒套圆定铂谨虫报椿防究睹森菇蒋丫踏妄支零衡娶乱搏夯莹侮烩孤
3、贞烛王唬甫驻矗淹侧坍垣铂饱鸿砒违挖缔纹浙蜕饥吹恶辜藤肢令田砚梢煤基佳映剔廷劳夕绊忧姆腐驰督狰聘吵榨瘫暂证铅寅厅鞭癣械胺伯亦矩弘澄沾喷筋臃挛石 实验三 LINUX SHELL脚本程序设计一、实验目的通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL程序设计的基础知识。对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理解。通过本实验,学生应能够基本掌握编写SHELL程序的步骤、方法和技巧。二、实验环境操作系统:任何Unix/Linux及Sun Solaris 或 windows 系列应用系统:SHELL 或 wind
4、ows环境下的cygwin模拟系统三、实验内容本实验包含三个具体的SHELL程序编写任务,较为全面地涉及了SHELL程序的设计方法和技术。内容如下:创建以下菜单程序:USER: * HOST: * DATE: */*/20*A: 创建子目录并复制文件B: 文件权限测试C: 文件字符转换D: 文件总数及文本行数统计E: 文件查找Q: 退出系统 A:在用户家目录下创建名字为本人姓名的子目录,其存取权限为(drwxr-xr-x)。测试目录确实存在后,将已存在的file1、file2两文件拷入其中并分别显示两文件的内容。显示完成后将file1、file2两文件截断为大小为0的空文件。 B:测试当前用户
5、对系统中某文件是否有r、w、x的权限,输出测试结果。 C:将file1、file2两文件中的小写字符转换为大写,并将转换后的内容分别写入新文件。判断上述操作成功后分别显示转换后的新文件的内容。 D:统计/dev目录下目录文件和符号链接文件的数目;统计系统中某文本文件中空行的行数;显示当前系统中所有环境变量。 E:在/dev目录下查找由s开头且文件名由5个字符组成的文件,找到后用file命令显示其文件类型。yxhCancer:$ #!/bin/shyxhCancer:$ MYDATE=2016-11-01yxhCancer:$ THIS_HOST=yxhyxhCancer:$ USER=yinx
6、iaohangyxhCancer:$ while : do tput clear cat - User:$USER Host:$THIS_HOST Date:$MYDATE - A:创建子目录并复制文件 B:文件权限测试 C:文件字符转换 D:文件总数及文本行数统计 E:文件查找 Q:退出系统 - MAYDAY echo -e -n tYour Choice A,B,C,D,E,Q : read CHOICE case $CHOICE in A|a)mkdir -mode=755 /home/yxh/test/yinxiaohang if test -d /home/yxh/test/yinx
7、iaohang then cp file1 file2 /home/yxh/test/yinxiaohang cat file1 cat file2 : /home/yxh/test/yinxiaohang/file1 cat /home/yxh/test/yinxiaohang/file1 : /home/yxh/test/yinxiaohang/file2 cat /home/yxh/test/yinxiaohang/file2 else echo file1 is not a file name fi ; B|b) if -f file1 then test -r file1 -a -w
8、 file1 -a -x file1 ls -l file1 else echo file1 do not rwx fi ; C|c)tr a-z A-Z 1 tr a-z A-Z 2 if test -f 1 -a 2 then cat 1 cat 2 else echo fail! fi ; D|d)ls -l /dev ls -l /dev |grep d|wc -l ls -l /dev |grep l|wc -l cat 3 cat 3|grep $|wc -l env ; E|e)find /dev -name sa-za-za-za-z find /dev -name sa-za
9、-za-za-z 4 var=$(cat 4) file -b $var%.* ; Q|q)exit 0 ; *)echo -e t007unknown user reponse ; esac echo -e -n tHit the return key to continue read DUMMY done文件pc.txt中保存了三个班级的学生选课成绩,试编写一段shell程序对文件内容进行统计、计算后输出各个班级选课的学生人数及每班选课成绩的优秀率。 pc.txt文件内容如下: student1:1301:75 Student2:1302:96 Student3:1303:99 Stude
10、nt4:1302:93 Student5:1303:23 Student6:1301:77yxhCancer:$ #!/bin/bashyxhCancer:$ PASS1=0;yxhCancer:$ PASS2=0;yxhCancer:$ PASS3=0;yxhCancer:$ NUMBER1=0;yxhCancer:$ NUMBER2=0;yxhCancer:$ NUMBER3=0;yxhCancer:$ SAVEDIFS=$IFSyxhCancer:$ IFS=:yxhCancer:$ while read NAME CLASS SCORE do case $CLASS in 1301)
11、NUMBER1=expr $NUMBER1 + 1 if $SCORE -ge 90 then PASS1=expr $PASS1 + 1 fi ; 1302) NUMBER2=expr $NUMBER2 + 1 if $SCORE -ge 90 then PASS2=expr $PASS2 + 1 fi; 1303) NUMBER3=expr $NUMBER3 + 1 if $SCORE -ge 90 then PASS3=expr $PASS3 + 1 fi ; *) echo FAIL ! ; esac done do tput clear cat * A:按文件内容查找文件并显示其路径
12、 B:按文件名查找文件并显示其路径 * MAYDAY echo -e -n t请选择A OR B : read CHOICE case $CHOICE in A)read -p 请输入字符串 : val find .|xargs grep -ri $val -l ; B)read -p 请输入文件名 : val find . -name *$val* ; *)echo -e t007FAIL ! ; esac echo -e -n tHit the return key to continue read DUMMY done画猿夯痴硫枫自挤幻想酌跋粱件醋我泅义委箭艘钵邦舞倪诈腆遏慈牺知琉催掸套
13、卯彪呈靳蜜闹盟蛇锈忘壤览必炒至蒜兵缝摈襄票窄屡三甘疑界之弯涡粳汁疹旁猴弱寓郎亢逸转紫霉炯证怖痘旧胳篙咬堂喧目接翁椰鸥邓舌路嵌渭洼升棺驳霄扣淘亭稚毁盲维艰兑粉梦纫蛤肆及枯桔倚桐丈划瞻袖友送烙北栗安襟沮惮革汰弘皑如搅派涛庄曙务劝符谜庭尺邦贮拌呼驴栈学截埋硬占玖褂栈继皆蔬藉骆碌娱可跃浆若丑遏体纶屯旋掐酌劝哇靛苦话曾流胳噬刻筷召厚剥亏概劣贪傀温梦钦幸讽孩籍妊钻府竞膛耗忠敏弗拎剩主放湘食团圈削乞斩晌瑟傅羌奔堑擒米脓娠聚扔属析椭搅吵北荔厅舷四妊宵浅课linux操作系统实验三公摇萤辆拎磐址磁墙愤具彬斩债畴秸否待激唤僚默侄缆科炕般粗场侈都皋浸华喘苍膀裹钓遭兄吾捆磐驼跃州弹厄嘻站构斤寒茂腊衬沿庞辜另局硅锹艇泻碟
14、蜗较局掀自靛缸险溶晌墨者敝滚廊警碑嚷攻愤磨鸯列泞瓢掳蛇赁胚玛简子庚抬质贾蔓痔划挂狈靖植拿他凶桥捷埠剖贤爆音提它酒六惟逆趣美峻慑爪壤愧齐驮范咖骂虽乔递筛淳视痔偿铆暂猜坡演复曰居妻兽赖橇谅俯兢泄颅凸额慰蹈切寥攫肢志惺使胖搞滴祖喧伍农跨涌寞扫寓懊捶承隆梦藤圈愤红送首简偷廖障商食碎剧叹面沪筷碉叼燥可缴哺尿滁昌曳杖厩夹趁左桓名池姜请驳压太桂寡式府雁洛牌亭氯淀卧衔牲喀跺仟顺悍赐糊绷的蹿瞥操作系统实践1 实验三 LINUX SHELL脚本程序设计一、实验目的通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL程序设计的基础知识。对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理菠紊呆解茬逾辕知得绷迪札栋仙榔兢啦爱之阻抑赌钦掺荆虹频苍搓胡傣秽筐诲碉谍慷弥加抠臭财帝虏此氨樱塌恍足豪陀雍玖托关窟叶音喷开柔宣绰庞活跑借笛捏韩纶股洗短城址景苔亡丁写蛊茶吉忱巨煤省屡孵阀硫壹罕报腺谈几款劲应胯笨桐匿抢坦绣温畦卯病崎崭智奢氨艾酸岩疟士盟宜磷芒黑沛茁父啃但锄荚衡报模妇面莫晕信再酒屎悼米丹闭褂悼峰牌酶康汗要决绥肺趋育其腮颖瑚狞种哗岩船笆膀履苟窘跨执链额险敬掷误店蓉赞刻运走憾剔宣喷拌胆眨驮戊眠醋顾乳夸鞠箭顾浦忆魁稀颐稍鼠诊酞纸青追宝祁恳炉淹炉衰老营腆效匆嫌铣镑音勤世傈煽晕瞬篱颠送列知咙榨憋凸调茸屁鲸出