linux系统及应用(应用开发)实验报告册.doc_第1页
linux系统及应用(应用开发)实验报告册.doc_第2页
linux系统及应用(应用开发)实验报告册.doc_第3页
linux系统及应用(应用开发)实验报告册.doc_第4页
linux系统及应用(应用开发)实验报告册.doc_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专业: 班级: 学号: 姓名: 合肥师范学院实 验 报 告 册2013-2014第二学期系 别 计算机科学与技术 实验课程 linux系统及应用 专 业 11级计算机科学与技术班 级 嵌入式应用技术 姓 名 学 号 指导教师 何 冀 军 序号实验项目名称内容提要实验学时实验报告成绩1Linux系统安装与简单配置安装并使用硬盘分区工具,为Linux准备好分区;安装Linux系统;配置Linux系统运行环境;正确地启动、关闭系统。22Linux基本命令的使用掌握Linux一般命令格式;掌握有关文件和目录操作的常用命令;掌握有关进程操作的常用命令;熟练使用man命令。23vi编辑器学习使用vi编辑器建立、编辑、显示及加工处理文本文件。24Shell编程了解shell的作用和主要分类;掌握bash的建立和执行方式;掌握bash的基本语法;学会编写shell脚本。45常用开发工具掌握C语言编译的基本用法;掌握gdb调试工具的基本用法;理解make工具的功能,学会编制makefile的方法。26Linux环境编程(计算机科学与技术专业)理解系统调用和库函数的异同;学会用系统调用和库函数进行编程;掌握一些常用的系统调用和库函数的功能及应用。46Linux 内存管理(计算机软件专业) 了解Linux内存管理的基本原理和方法,了解内存申请和释放的方式,掌握malloc,realloc,free等函数的使用;4实验项目一览表 实验一 Linux系统安装和简单配置一、实验目的(1)掌握Linux操作系统的安装步骤;(2)掌握Linux系统的简单配置方法;(3)掌握Linux系统的启动、关闭步骤。二、实验内容(1)安装Linux系统;(2)配置Linux系统运行环境;(3)正确地启动、关闭系统。 三、实验软件 VMWare Workstation 5.0; Red hat linux 9.0镜像文件;四、实验主要步骤(1)配置并安装操作系统;(2)vi创建程序并实用GCC编译;(3)运行程序; 五、实验结果实验项目二 Linux基本命令的使用一、实验目的(1)掌握Linux一般命令格式;(2)掌握有关文件和目录操作的常用命令;(3)掌握有关进程操作的常用命令;(4)熟练使用man命令。二、实验内容(1)正确地登陆和退出系统;(2)熟悉date,cal,who,echo,clear,passwd命令;(3)在用户主目录下对文件进行如下操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等;(4)对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等;(5)利用man显示date,echo等命令的手册页;(6)显示系统中的进程信息。三 、实验软件VMWare Workstation 5.0; Red hat linux 9.0;四、实验主要步骤1、登录进入系统,修改个人密码。2、使用简单命令:date,cal,who,echo,clear等,了解linux命令格式;3、浏览文件系统:(1)运行pwd命令,确定当前工作目录;(2)运行ls l命令,理解各字段含义;(3)运行ls ai命令,理解各字段含义。(4)使用cd命令,将工作目录改到根目录(/)上。(5)直接使用cd,用pwd命令验证回到的位置。(6)用mkdir建立一个子目录subdir; (7) 将工作目录改到subdir.4、文件操作(1)验证当前工作目录在subdir;(2)运行date file1,然后运行cat file1,看到什么信息?(3)运行cat subdir,会有什么结果,为什么?(4)利用man 命令显示date 命令的使用说明;(5)运行man datefile1,看到什么?运行cat file1,看到什么?(6)利用ls l file1,了解链接计数是多少?运行ln file1 ./fa,再运行ls l file1,看链接计数有无变化?用cat命令显示fa文件内容。(7)显示file1的前10行,后10行。(8)运行cp file1 file2,然后ls l,看到什么?运行 mv file2 file3,然后ls l看到什么?运行 cat f*,结果怎样?(9)运行rm file3,然后ls l,结果如何?(10)在/etc/passwd文件中查找适合你注册名的行.(11)运行ls l,理解各文件的权限是什么?(12)用两种方式改变file1的权限。(13)统计file1文件的行数、字数。(14)运行 man ls|more,显示结果是什么?运行 cat file1|head -20|tee file5 ,结果如何?运行cat file5|wc,结果如何?五、实验结果 实验项目三 vi编辑器一实验目的学习使用vi编辑器建立、编辑、显示及加工处理文本文件。二实验内容(1)进入和退出vi;(2)利用文本插入方式建立一个文件;(3)在新建的文本文件上移动光标位置;(4)对该文件执行删除、复原、修改、替换等操作。三实验软件VMWare Workstation 5.0; Red hat linux 9.0;四实验主要步骤1、进入vi;2、建立一个文件,如file.c.进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。最后将该文件存盘。回到shell状态下。3、运行gcc file.c o myfile,编译该文件,会发现错误提示。理解其含义。4、重新进入vi,对该文件进行修改。然后存盘,退出vi。重新编译该文件。如果编译通过了,可以用./myfile运行该程序。5、运行man date file10,然后vi file10. 使用x,dd等命令删除某些文本行。 使用u命令复原此前的情况。 使用c,r,s等命令修改文本内容。 使用检索命令进行给定模式的检索。五实验结果实验项目四 shell编程一、实验目的(1)了解shell的作用和主要分类;(2)掌握bash的建立和执行方式;(3)掌握bash的基本语法;(4)学会编写shell脚本。二、实验内容(1)shell脚本的建立和执行;(2)历史命令和别名定义;(3)shell变量和位置参数、环境变量;(4)bash的特殊字符;(5)一般控制结构;(6)算术运算及bash函数。三实验软件VMWare Workstation 5.0; Red hat linux 9.0;四实验主要步骤1、利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。然后以不同方式执行脚本。2、运行history命令,配置历史命令环境。3、体会bash的命令补齐功能。4、用alias定义别名,然后执行。5、编辑如下脚本进行执行:6、编写一个shell脚本,求斐波那契数列的前10项及总和。7、设计一个程序cuts,它由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包括这两个字符)。例如: $cuts 11 14 tis is a test of cuts program (输入) tst(显示结果五实验结果实验项目五 常用开发工具一实验目的(1)掌握C语言编译的基本用法;(2)掌握gdb调试工具的基本用法;(3)理解make工具的功能,学会编制makefile的方法。二实验内容(1)利用gcc编译C语言程序,使用不同选项,观察并分析显示结果;(2)用gdb调试一个编译后的C语言程序;(3)编写一个由多个文件构成的C语言程序,编制makefile,运行make工具进行维护。三实验软件VMWare Workstation 5.0; Red hat linux 9.0;四实验主要步骤1、改写例6.1,使用下列选项对它进行编译:-I,-D,-E,-c,-o,-l。2、完成对思考题6.5、6.6的调试。3、完成对思考题6.9的编制,并使用make进行维护。五实验结果实验项目六 Linux内存管理一、实验目的(1)了解Linux内存管理的基本原理和方法;(2)了解内存申请和释放的方式;(3)掌握malloc,realloc,free,calloc 函数的使用。二、实验内容(1)使用C语言编写一个包含内存分配与释放的程序,观察分析并显示运行结果;(2)通过gdb等工具对程序进行调试;(3)在程序运行过程中观察系统内存的使用情况,验证内存管理函数的执行效果。三实验软件VMWare Workstation 5.0; Red hat linux 9.0;四实验主要步骤(1)内存库函数实验-malloc函数,运行程序清单6-1,写明运行结果。(2)内存库函数实验-calloc函数,运行程序清单6-2,写明运行结果。(3)内存库函数实验-realloc函数,运行程序清单6-3,写明运行结果。(4)内存错误分析实验: 指出程序清单6-4的内存错误原因。 指出程序清单6-5的内存错误原因。 通过比较程序清单6-6、6-7输出结果,分析程序6-3内存错误原因。五实验结果 程序清单:(1)5-1#include #include main() char *p; clrscr(); / clear screen p=(char *)malloc(100); if(p) printf(Memory Allocated at: %x,p); else printf(Not Enough Memory!n); free(p); return 0; (2)5-2 #include #include main() char *p; clrscr(); / clear screen p=(char *)calloc(100,sizeof(char); if(p) printf(Memory Allocated at: %x,p); else printf(Not Enough Memory!n); free(p); return 0; (3)5-3 #include #include main() char *p; clrscr(); / clear screen p=(char *)malloc(100); if(p) printf(Memory Allocated at: %x,p); else printf(Not Enough Memory!n); p=(char *)realloc(p,256); if(p) printf(Memory Reallocated at: %x,p); else printf(Not Enough Memory!n); free(p); return 0; (4)5-4 Void ApplyForMem(char *p,int num) p=(char*)malloc(sizeof(char)*num); return; int main() char *str=NULL; .ApplyForMem(str,300); free(str); infile.close(); return 0; (5)5-5 #include #include #include int main() char z = *(const char *)0; exit(EXIT_SUCCESS); (6)5-6 #include “stdlib.h”#define HEAP_BLOCK_SIZE 32 int main() / 分配申明heap 内存块1 char *pbuf1 = (char *) malloc(HEAP_BLOCK_SIZE); printf(HeapTest block 1 (%d bytes) at %08Xh, sizeof(pbuf1), pbuf1); *pbuf1 = 1; /分配申明heap 内存块2 char *pbuf2 = (char *) malloc(HEAP_BLOCK_SIZE); printf(HeapTest block 2 (%d bytes) at %08Xh, sizeof(pbuf2), pbuf2); *pbuf2 = 2; /分配申明heap 内存块3 char *pbuf3 = (char *) malloc(HEAP_BLOCK_SIZE); printf(HeapTest block 3 (%d bytes) at %08Xh, sizeof(pbuf3), pbuf3); *pbuf3 = 3; / 释放heap 内存块1 printf(HeapTest block 1 (%d bytes) at %08Xh freed,sizeof(pbuf1), pbuf1); free(pbuf1); /释放heap 内存块2 printf(HeapTest block 2 (%d bytes) at %08Xh freed,sizeof(pbuf2), pbuf2); free(pbuf2); /释放heap内存块3 printf(HeapTest block 3 (%d bytes) at %08Xh freed,sizeof(pbuf3), pbuf3); free(pbuf3); /分配申明heap 内存块4 char *pbuf4 = (char *) malloc( HEAP_BLOCK_SIZE); printf(HeapTest block 4 (%d bytes) at %08Xh, sizeof(pbuf4), pbuf4); *pbuf4 = 4; /分配申明heap 内存块5 char *pbuf5 = (char *) malloc( HEAP_BLOCK_SIZE); printf(HeapTest block 5 (%d bytes) at %08Xh, sizeof(pbuf5), pbuf5); *pbuf5 = 5; /分配申明heap 内存块6 char *pbuf6 = (char *) malloc( HEAP_BLOCK_SIZE); printf(HeapTest block 6 (%d bytes) at %08Xh, sizeof(pbuf6), pbuf6); *pbuf6= 6; for(;) Sleep(1000); return 0; (7)5-7 #include “stdlib.h”#define HEAP_BLOCK_SIZE 32 int main() / 分配申明heap 内存块1 char *pbuf1 = (char *) malloc(HEAP_BLOCK_SIZE); printf(HeapTest block 1 (%d bytes) at %08Xh, sizeof(pbuf1), pbuf1); *pbuf1 = 1; /分配申明heap 内存块2 char *pbuf2 = (char *) malloc(HEAP_BLOCK_SIZE); printf(HeapTest block 2 (%d bytes) at %08Xh, sizeof(pbuf2), pbuf2); *pbuf2 = 2; /分配申明heap 内存块3 char *pbuf3 = (char *) malloc(HEAP_BLOCK_SIZE); printf(HeapTest block 3 (%d bytes) at %08Xh, sizeof(pbuf3), pbuf3); *pbuf3 = 3; / 释放heap 内存块3 printf(HeapTest block 3 (%d bytes) at %08Xh freed,sizeof(pbuf3), pbuf3); free(pbuf3); /释放heap 内存块2 printf(HeapTest block 2 (%d bytes) at %08Xh freed,sizeof(pbuf2), pbuf2); free(pbuf2); /释放heap内存块1 printf(HeapTest block 1 (%d bytes) at %08Xh freed,sizeof(pbuf1), pbuf1); free(pbuf1); /分配申明heap 内存块4 char *pbuf4 =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论