《Linux编程实训手册.docx》由会员分享,可在线阅读,更多相关《Linux编程实训手册.docx(22页珍藏版)》请在优知文库上搜索。
1、实验名称1.inUX文件操作指导教师姓名学号班级实验地点实验日期同组同学教师评语实验成绩评阅教册一、实验目的:1 .熟悉1.inUX系统目录结构,熟悉主要系统目录的用途,了解常用系统文件的作用:2 .掌握1.inux操作系统的基础命令的使用方法,包括目录创建、目录列表、切换工作目录,文件创建、豆制、更名、制除、权限设发,创建硬连接、符号链接,文件内容杳君等,文件查找、打包解包,查看历史命令、输出到文件。3 .对0重定向和管道功能有些初步认识。二、实验内容:1 .以普通用户身份登录1.inUX,打开命令窗口,利用PWd命令查后用户“家”目录路径.2 .查看IS命令的详细使用方法,获取IS命令的简
2、要帮助信息.3 .用mkdir命令建立工作目录.目录名为“学号+姓名M)I”.再在该目录下创建子目录dir1.和目录dir2.并用ChmOd命令将其权限分别设区为rwxrxrwx和rw,x,用Is命令予以验证工作目录及其子目录是否存在.提示:在WindOWS环境下输入中文,可复制粘贴到1.inUX虚拟机下,作为文件名或文件内容使用.4 .执行命令Cd命令进入目录dir1.,用pd命令验证当前目录路径,用t。UCh命令建立文本文件fi1.e1.txt,并将fi1.e1.txt的权限更改为700,用Is命令验证.5 .使用KCdi1.程序打开fi1.e1.Ixi,输入下面一段文字后,关闭该文件.D
3、ongguanuniversityOftechnogogyCoaiputerendnetworksecurityco1.1.ege6 .利用IeSS或*re命令显示文件fi1.e】的内容,用WC命令统计字符数、的词数和行数7 .用IS命令有看用户家命令卜有哪些除藏文件。8 .利用IS1fiIe1.命令列出文件Fi1.e1.的较详细的信息,记录文件权限.最后修改时间等.9 .利用CP命令命令创建文件fi1.件的副本fa,用IS命令验证.10 .利用mv命令将fa文件名更改为fi1.e_a11 .利用E命令将文件fi1.ea删除,检查命令执行结果。12 .用管道方法将文件九WP3$SWd内容送SO
4、r1.排序输舟,并用WC命令对黜出行字节数、单词数进行计数.13 .在用户家目录,把工作目录打包压缩成work.tar.gz,验证结果.11.删除整个工作目录、15 .将打包文件ork.Iar.3解压缩解包到家目录和/imp目录下,验证执行结果16 .将上述命令执行过程截图复制,粘贴到第四部分17 .将实验报告取名为”学号-姓名-1.inux文件操作”上传到ftp相应目录下晨涉及实验的相关情况介绍(包含使用软件或实验设备等情况):安装1.inUX操作系统的计兑机四、报告内容(给出每个命令输入,其后粘贴及执行结果截图,如果结果太长,可仅笑制前面6行的豉图)五、实验分析和总结课程:1.inUX系统
5、编程实验名称1.inuxShe1.1.编程指导教师姓名学号班级实验地点实验日期同组同学教师评语实验成绩评阅教册一、实验目的:1 .通过本实验练习,使学生了解常用SHE1.1.的编程特点,掌握SHE1.1.程序设计的基础知识。2 .对SHE1.1.程序流程控制、SHE1.1.程序的运行方式、ba*h程序的调试方法及bash的常用内部命令有进一步的认识和理解。3 .基本掌握编写SHE1.1.程序的步骤、方法和技巧。4 .掌握使用选择结构、循环结构、条件结构、test条件的编程方法5 .掌握输入、辘出语句使用方法。二、实验内容:先创建用户家目录卜.创建文件名为“姓名+学号+02”的子目录,作为本次实
6、验目录,本次实验的所仃代码都放到该目录下。要求将所有源代码与数据文件打包成文件Iab2.tar.gz,压缩包与实验报告分别提交到相应目录下。主要实验任务有:1.编写She1.1.脚本task21.,提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示Mu1.ch”,并显示“Endofprogram,如果不同则显示“NoMatchw,再显示“Endofprogram*2.编写脚本task22,在本次实脸目录下创建n1.,m2,m3,m4四个目录,同时创建m1.txt,n2.txt,m3,1.t,M.IXt等四个文件,并将m1.Ix1.,m2,tx1.,m3,1.x1.,m
7、4.Ix1.四个文件分别拷贝到各自相应的目录下。2.创建以下菜单脚本程序task3:USER:*HOST:*DATE:*20*A:创建子目录并发制文件B:文件权限测试C:文件字符转换D:目录内容显示Q:退出系统A:在本实验目录卜创建目录dir1.,其存取权限为(drwxrxx10测试目录幽实存在后,在该目录下创建2个空文件fi1.e1.和me20B:输入一个文件名,测试当前用户对该文件是否有r、w、X的权限,输出测试结果。C:将/Ctcgsswd文件的小写字符转换为大写,逐一显示转换后的文件内容(提示1.inUX卜小写转大写命令是D:用IS-Ii显示本次实验R录下文件列表,用命令more显示I
8、aSk1.的内容。任务3.文件pc.txt中保存了某班学生的数学成绩(第项S*为学生学号,第二项数字为成绩),试编写she1.1.脚本task23,完成以下操作:按A(90T00)、B(80-89).C(70-79).D(60-69)、E(不及格)五档对成绩进行统计、计算后输出各个分数段的学生人数及总平均分;将各分数段的信息分别存入A、B、C、D、E五个文件中(在统计过程中动态完成)。pc.txt文件内容如下:S1:75S2:68S3:99S4:83S5:23S6:77S7:75S8:69S9:9IS10:83SI1:65SI2:71三、涉及实验的相关情况介绍(包含使用软件或实验设得等情况):
9、安装1.inUX操作系统的计算机四、报告内容(分任务给出源代码、运行命令、测试数据和命令输出结果截图)五、实验分析与总结实验名称1.inUXC库函数使刖指导教师姓名学号班级实验地点实验日期同组同学教师评语实验成绩评阅教册一、实验目的:1.练习字符串处理函数编程,用快速排序、数据结构、二叉树处理库函数编写简单应用,了解1.inux库函数在数据管理及持序、检索中的应用。二、实验内容:先创建用户家目录卜创建文件名为“姓名+学号+03”的子目录,作为本次实验目录,本次实验的所有代码都放到该目录下。要求将所有源代码与数据文件打包成文件“学号-姓名Jab3.tar.gz,压缩包与实验报告分别上传到指定目录
10、下.任务1:.编写程序task31.c,输入两个字符串si、s2,将S1.中所有s2子串删去后输出。如若输入s1.=Thisismymotheruniversity,s2=er,则输出为Thisismymothunivsityn任务2.编写程序task32.a输入一个1.iiU1.X命令串S1.输出各命令参数,每行一个。例如:若输入的命令字符串是“Is1.-aabc“,则程序输出为:Is-I-aabc*:提示:从终端读入一个文本行到字符申CharbUtIMAXSIZE1.可调用函数可调用函数:fgcts(buf,MAXSIZE,stdin);,其中stdin是表示键盘输入设备的文件指针。任务3
11、.编写程序task33.c,输入一个1.inUX命令串si,找出并显示命令名、命令选项、命令参数。例如:若输入的命令字符中是%-I-aabc*”,则程序输出应该是:命令名:IS命令选项:-I命令选项:-a命令参数:abc*任务4(可选):写一个程序tas34.C,调用qsort函数,对浮点型数组f1.oatnum10=(90.9,51.8,32.7,83.6.94.5,45,4,36.3,47.2,28.1,19.0进行排序,运行程序验证正确性任务5(可选):假设有一个字符数组charnum10三he1.1.o,wor1.d”,e,dgu1.,“university,abc,china,Don
12、gguan,Guangdong,Songshanhu,computer)写个程序task35.c,调用1.inUX二叉树操作函数,用数组num按字典序建立二叉树,按中序遍历瞅序输出各字符串元素的值,运行程序验证正确性。三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况):安装1.inUX操作系统的计算机四、报告内容(给出每个任务的要求、编程思想、源代码,后接编程过程、测试数据、运行结果截图)五、实验分析和总结等实验名称1.inuxVO编程指导教师姓名学号班级实验地点实验日期同组同学教师评语实验成绩评阅教册一、实验目的:1.练习用UN1.X1./0函数进行文件读写编程,掌握用UNIXI/O
13、函数将文本信息、二进制数据、结构体数据读写文件的基本方法。2.练习测时函数使用,通过测增UNIXI/O函数运行时间,建立UNIXI/OAPI函数基本开俏的概念。二、实验内容与要求:先创建用户家目录下创建文件名为“姓名+学号+04”的子目录,作为本次实脸目录,本次实验的所有代码都放到该目录下,要求将所有源代码与数据文件打包成文件“学号-姓名-Iab4.tar.gz“,压缩包与实验报告分别上传到指定目录卜;任务1.在当前用户目录下创建数据文件“udenuxi,文件的内部信息存储格式为Snamc:S#:Sdep1.:SagC:Sscx,即“姓名:学号:学院:年龄:性别”,每行一条记录,输入不少于10
14、条学生记录,其中包括学生本人记录。编写程序task41.c从文件中查找SdePt字段值为“计算机学院”的文本行,输出到文件CSSIUden1.tXt中,保存时各字段顺!序调整为S#:Sname:Sage:SsexSdep1.提示:(I)从终端读入一个文本行到字符串CharbUfIMAXS1.ZE1.可调用函数可调用函数:-ets(buf.MXS1ZE,Stdin)广,其中stdin是表示键盘输入设备的文件指针。(2)用函数SIrehr或S1.r1.Ok可以把一个文本行字符串中各个单词分割和提取出来,使用方法和案例可查阅百度。任务2.调用UniX1.Q库函数,编写程序task42.c,从键盘读入
15、5个学生的成绩信息,包括学号、姓名、语文、数学、英语,成绩允许有一位小数,存入一个结构体数组,结构体定义为:tpcdcfstruct_subjcc1.charsno(20:学号charna11e20J;姓名f1.oatChinese:谙文成绩oatmath;数学成绩f1.oatcng1.ish;英语成绩Isubject;将学生信息,逐条记录写入数据文件data.最后读回第1、3、5条学生成绩记录,显示出来,检查读出结果是否正确“任务3(可选):在1.inux环境3可以调用库函数gettimeofday测量一个代码段的执行时间,请写一个程序task43.c,测量read、write、眦ad、fwrie函数调用所需的执行时