《《操作系统原理》实验6--Linux Shell编程.docx》由会员分享,可在线阅读,更多相关《《操作系统原理》实验6--Linux Shell编程.docx(5页珍藏版)》请在第壹文秘上搜索。
1、操作系统原理实验报告学号姓名专业、班级实验地点指导教师实验时间实验序号:6实验项目:LinuxShell编程一、实验目的及要求通过本实验的学习,掌握Shell编程的基本方法。二、实验设备(环境)及要求VMware虚拟机软件,Ubuntu系统三、实验内容与步骤比较C语言和Shell编程的一些异同点。1、编写一个SheIl脚本,完成最基本的IS指令的功能,即打印出当前目录下所有的文件和目录,每行一项jonz0ubuntu:/CProgram$vimshelll.shjonz0ubuntu:/CProgram$.shelll.sh总用量8-WXWX-X1jonzjonz121512月2122:12c
2、lient-W-W-1jonzjonz365112月2122:11client.C-WXWX-X1jonzjonz76149月2200:43exam3-W-W-1jonzjonz156812月1423:44exam3.c-W-W-1jonzjonz09月2200:40exam3.c-WXWX-X1jonzjonz746012月2122:21eam5-W-W-1jonzjonz16912月2122:26exam5.c-W-W-1jonzjonz32312月1423:51ftle.txt-WXWX-X1jonzjonz1243412月2122:05server-W-W-1jonzjonz43231
3、2月2122:9server.C-WXW-1jonzjonz1912月2122:30shelll.sh-WXW-1jonzjonz7812月1423:53SheU2.sh-WW-1jonzjonz1111月223:49sheXX3.sh程序编写和执行#!binbashIs-I实验源代码2、编写一个Shen脚本,完成以下功能:1)显示文字Waitingforawhile.,2)长格式显示当前目录下面扩展名为”.h”的文件和目录,并输出重定向SO/home/file.txt文件.sheH2.shcat ftle.txtl.h2.h3.hjogjo-virtual-machine:*/c_progr
4、am$Waitingforawhile.jo0jo-virtual-machine:*/c_program$-w-w-1jonjo012月1520:19-w-w-1jonjo12月1520:19-rw-rw-r-1jonjon012月1520:19程序编写和执行1 #!binbash2 echowWattinwhile.w3 Is*.hI/home/jon/c_program/ftie.txt程序源代码3、编写一个Shen脚本,完成以下功能计算100以内不是5的整数倍的数字的和joz0ubutu:/CProgran$vimshel13.shjonzubuntu:/CProgram$.shell
5、3.shPleaseinputanumbern:78Thesumis:2481程序编写与执行3ibinbashexportsum=0exportI=:echoreadnwhile$n-Le$n-gedoechouFtrechoreadndonewhile$i-Ie$ndoif($i)ne;thensum=5(ft)doneechoheJJt$sum程序源代码4、编写一个Shen脚本,完成以下功能1)创建homedir”文件夹2)将当前目录下扩展名为”的文件移动到之前创建的文件夹vin shell4.sh .shell4.shIS homedtrIS honejonc-progran sheL1
6、2.sh shell4.sh thread2.croot0jo-virtualnachinehonejonc-programrootjo-virtual-machine:/home/jocprogram#mkdlr:无法创建目录homedlr:文件已存在rootJon-vtrtual-machine:/hone/jon/c_program#ex_wrtte.cthread2.croot0jon-virtual-machine:/home/jon/c_program#l.h2.h3.hex_writeex-write.cflle.txt1.CC十AGcc=3LnlMmaLhSCQhcm41Gcc
7、IrCLCCfNmlf程序执行过程31btnbashmkdirhomedirCP/home/jon/c_program/*.chomedir程序源代码5、编写一个SheiI脚本,完成以下功能在/userdata目录下建立50个目录,即USerluse*50,并设置每个目录的权限为rwxr-xrIjozubutu:-/CProgramSmkdtruserdatajoz0ubutu:-/CProgranSISclientexan3exan3.c-exam5.cservershelll.shshell3.shuserdataclient.cexa113.cexan5flle.txtserver.cS
8、heU2.shshells,shjonzubuntu:CPrOgrarri$./shells.shjonzubuntu:/CProgram$Isclienteam3ean3.ceanS.cserverShelll.shshe113.sh.shshell5.shuserdataclient.cexan3.ceam5flle.txtserver.cShell2jonzubuntu:/CProgran$Isuserdata/userluserl4userl9user23user28user32user37user41user46user5userluser15user2user24user29use
9、r33user38user42user47useruserlluser16user2user25user3user34user39user43user48user7userl2user17user21user26user3user35user4user44user49user8userl3userl8user22user27user31user36user4user45user5user9joz0buntu:-/CProgranS程序执行过程#btnbashfor(t=;t=;t+)domkdtruserdata/userchmoduserdatauserSdone程序源代码四、分析与讨论比较
10、C语言和Shell编程的一些异同点。(1)C语言是编译型语言。从源代码转换成目标代码),便能直接通过计算机来执行。编译型语言的好处是高效,缺点则是:它们多半运作于底层,所处理的是字节、整数、浮点数或是其他机器层级的对象。(2)脚本编程语言通常是解释型的。这类程序的执行,是由解释器读入程序代码,并将其转换成内部的形式,再执行。解释器本身是一般的编译型程序。(3)C语言程序是编译执行的;而SheH脚本是解释执行的。(4)整体的逻辑是相似的,比如都有选择,循环等结构,但是具体的语法细节有很明显的不同。五、教师评语签名:日期:成绩附:第三题源代码#!/bin/bashexportsum=0exporti=lecho-nPleaseinputanumbern:*readnwhile$n-Ie011$n-ge1001doechonumbernmustfrom1to100echo-nPleaseinputagain:readndonewhile$i-Ie$ndoif$($i%5)-neO;thensum=$($sum+$i)fii=$($i+1)doneechoThesumis:$sum