中南民族大学UNIXLinux实验报告整合版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

院系:计算机科学学院专业:计算机科学与技术年级:2010级课程名称:Linux操作系统学号:10061103100611051006110610061107姓名:张名扬王超库承鹏金果指导教师:李艳红2013年4月24日实验一年级班号学号专业姓名实验名称常用shell命令练习实验类型设计型综合型创新型√实验目的或要求目的:熟悉常用shell命令,及linux操作系统基本操作要求:1、shell常用命令练习,并记录命令结果。至少10个命令,其中包括:ls,rmdir,mv,cp,wc,bc2、分别在文字界面和图形界面的linux下建立新用户,记录创建过程,并成功以新用户身份登陆。实验记录1.列目录内容(ls)如下图,列出当前目录(user)下所有文件及目录:2.建立目录(mkdir)如下图,在工作目录下建立一个名为temp的子目录:3.删除目录(rmdir)删除子目录temp,若非空则报错4.文件移动或更改(mv)将文件1移动到2中,若2存在则覆盖将文件ku和文件cheng移动到peng中5.文件和目录复制(cp)将文件2.sh复制到文件夹peng中6.文件内容信息统计(wc)统计文件夹wcwc.txt内容信息7.任意精度计算器(bc)一般多项式的计算及机制转换用户的创建和密码设定实验二年级班号学号专业姓名实验名称Linux用户管理和文件管理命令练习实验类型设计型综合型创新型√实验目的或要求目的:熟悉linux下用户管理和文件管理命令要求:1、用户管理和密码管理命令。2、用户管理图形界面的使用。3、创建文件系统映像及映像文件使用。4、数据备份及使用。5、数据压缩及解压缩。实验记录1用户管理图形界面的使用2创建文件系统映像及映像文件使用创建成功解压使用3数据备份及使用4数据压缩及解压缩打包—压缩—解压—提取文件实验三年级班号班学号专业姓名实验名称Linux下的编程练习实验类型设计型综合型创新型√实验目的或要求目的:熟悉linux下的shell编程要求:1、教材218页sed实例。2、教材230页-231页awk实例。3、教材236页第2题填空题的所有命令以及第3(1)题。1、分别用shell编程完成下面程序:①设计一个菜单程序,循环接受键盘输入,根据所输入的键来执行不同的功能,直到接收到q/Q键后退出。1键功能:计算1—10的和(用循环语句完成)。2键功能:计算如下数字之积2581014(shell编程需用循环语句)②设计一个shell程序计算n的阶乘。要求:从命令行接受参数n;在程序开始后立即判断n的合法性,即是否有参数。若有,是否是正整数?若非法,请给出错误提示;最后给出计算的结果。2、写出程序代码以及执行过程。实验记录1、教材218页sed实例:sed-e's/sysman/SystemManager/g'ifileofile将ifile文件中的所有sysman替换成SystemManager并输出到ofile截图如下:sed-n'$='ifile计算ifile文件的行数截图如下:sed'/^$/d;/^[:space:]*$/d'ifileofile删除文件ifile中的空行,并将它的内容输出到ofile中截图如下:sed-e'/^#/!d'ifile显示ifile文件中的注释行截图如下:sed-e'/^#/d'ifile显示ifile文件中的非注释行截图如下:ps-ef|sed-e'/^[:space:]*root/!d'显示系统中的root用户的进程截图如下:ps-ef|sed-e'/^[:blank:]*root/d'显示系统中非root用户进程截图如下:2、教材230页-231页awk实例:ps-ef|awk'/root/{print$1,$2,$8}'显示进程的进程号和进程名截图如下:ps-ef|awk'!/root/{print$1,$8}'显示系统中所有非root用户进程,他们是谁,在干什么截图如下:wk'{sum+=$1};END{printsum}'ifile计算文件ifile内的数字和,假定ifile的内容为数字串,并且每个数字串占一行截图如下:awk-F':''{print$1}'/etc/passwd显示系统内已经注册的所有用户截图如下:awk'BEGIN{line=0};{line++};END{printline}'ifile统计文本文件ifile的行数截图如下:awk'{printNR,$0}'ifile为文本文件添加序号截图如下:awk'/date/{system(date+%D%t%T)}'ifile当遇到有date的行执行date命令截图如下:3、教材236页第2题填空题的所有命令以及第3(1)题:grep-E'[Hh]enr(y|ietta)'file//匹配包含字符串样式为HenryhenryHenrirttaHenrietta截图如下:grep-v^#/etc/syslog.conf删除文件/etc/syslog.conf中以“#”开头的行并显示输出】截图如下:sed-e's/sysman/systemManager/g'ifileofile将ifile文件的所有的sysman换成SystemManager并输出到ofile中截图如下:sed'/^$/d;/[:space:]*$/d;'ifileofile删除ifile中的空行并将其他的内容输出到ofile截图如下:awk-F':''{print$1}END{printNF;printNR}'/etc/passwd//显示系统内已经创建的所有用户,并且显示当前文件记录的域和个数截图如下:awk'{printtoupper($0)}'ifileofile//将ifile文件中的小写字母变成大写字母,并写入到文件ofile截图如下:用grep,sed和awk实现:删除文件ifile中以#开始的注释行,并将结果输出到ofile文件中grep-v'^#'ifileofile截图如下:sed-e'/^#/'ifileofile截图如下:awk'!/^#/{print$0}'ifileofile截图如下:①设计一个菜单程序,循环接受键盘输入,根据所输入的键来执行不同的功能,直到接收到q/Q键后退出。1键功能:计算1—10的和(用循环语句完成)。2键功能:计算如下数字之积2581014(shell编程需用循环语句)源代码:func1(){x=0;y=1whiletest$y-ne11;dox=$((y+1))y=$((y+1))doneecho1+2+..+10=$x}func2(){x=1foryin2581014dox=$((x*y))doneecho2*5*8*10*14=$x}whiletruedoecho1.求1-10之和2.求2,5,8,10,14之积q.退出readxcase$xin1)func1;;2)func2;;Q|q)exit0;;*)echo非法输入;;esacdone运行结果:②设计一个shell程序计算n的阶乘。要求:从命令行接受参数n;在程序开始后立即判断n的合法性,即是否有参数。若有,是否是正整数?若非法,请给出错误提示;最后给出计算的结果。源代码:#!/bin/bashif[$#-eq0];thenechowarning:pleaseinputn!exit1fiif[$1-lt0];thenechowarning:thenshouldbepositivenumber!exit1fin=$1f=1while[$n-gt1];dof=`expr$f\*$n`n=`expr$n-1`doneecho$f运行结果:实验四年级班号学号专业姓名实验名称Linux下的编程练习实验类型设计型综合型创新型实验目的或要求目的:熟悉linux下的shell编程和shell调试要求:1、用shell编程完成下面程序:1)设计一个菜单程序,循环接受键盘输入,在循环中,当收到信号后在终端上显示“IReceivedSignal#”,其中#为收到的信号编号;当接收到信号9时,程序结束。2)设计一个Shell程序,在~/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。2、设置set-v,set-x对程序进行调试。3、写出程序代码以及执行过程。实验记录1)设计一个菜单程序,循环接受键盘输入,在循环中,当收到信号后在终端上显示“IReceivedSignal#”,其中#为收到的信号编号;当接收到信号9时,程序结束。代码如下:#!/bin/shfunc1(){echoIReceivedSingnal1}func2(){echoIReceivedSingnal2}func3(){echoIReceivedSingnal3}func15(){echoIReceivedSingnal15}实验记录echoEnter1or2or3or15,qisexitwhiletruedoreadncase$nin1)func1;;2)func2;;3)func3;;15)func15;;q|Q)exit0;;*)echoinputerroresacdone截图如下:实验记录2)设计一个Shell程序,在~/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。代码如下:n=1while[$n-le50]domkdirhome/user/userdata$nn=`expr$n+1`donechmod754*截图:实验五年级班号学号专业姓名实验名称Linux下的编程练习实验类型设计型综合型创新型实验目的或要求目的:熟悉linux下的c编程要求:1、用c编程完成下面程序:设计一个菜单程序,循环接受键盘输入,根据所输入的键来执行不同的功能,直到接收到q/Q键后退出。1键功能:计算1—10的和(用循环语句完成)。2键功能:计算如下数字之积2581014(编程需用循环语句)2、上述还要使用链接库来完成执行过程。3、写出程序代码以及执行过程。4、一个程序由文件main.cpp,test.cpp,test.h组成,编译该程序要用到libmypub.a,按照gcc的工作过程,写出编译为可执行文件mytest的Makefile文件实验记录fun1函数代码:#includestdio.hvoidfun1(){intsum=0;inti;for(i=0;i=10;i++){sum+=i;}printf(sumis%d\n,sum);}fun2函数代码:#includestdio.hvoidfun2(){intnum[5]={2,5,8,10,14};intresult=1;inti;for(i=0;i5;i++){result*=num[i];}printf(resultis%d\n,result);}main函数代码:#includestdio.hmain(){charchoice;do{printf(MENU:\n);printf(Thesumof1-10....................1\n);printf(Theaccumulatedof2,5,8,10,14......2\n);printf(EXIT.....................Q/q\n);scanf(%c,&choice);if(choice=='1'){fun1();}elseif(choice=='2'){fun2();}elseif(choice!='q'&&choice!='Q'){printf(InputError!Pleaseinputagain...\n);}getchar();printf(\n);}while(choice!='q'&&choice!='Q');

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功