linu系统及应用实验报告册_第1页
linu系统及应用实验报告册_第2页
linu系统及应用实验报告册_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、合肥师范学院实验报告册2013-2014 第二学期系别计算机科学与技术实验课程linux系统及应用专业 11 级计算机科学与技术班级嵌入式应用技术姓名学号指导教师何冀军实验项目一览表实验序号实验项目名称内容提要实验报告学时成绩安装并使用硬盘分区工具,为Linux 准备好分1Linux 系统安装与简单配置区;安装 Linux 系统;配2置 Linux系统运行环境;正确地启动、关闭系统。掌握 Linux一般命令格式;掌握有关文件和目录2Linux 基本命令的使用操作的常用命令; 掌握有2关进程操作的常用命令;熟练使用 man命令。学习使用vi编辑器建3vi 编辑器立、编辑、显示及加工处2理文本文件

2、。了解 shell的作用和主要分类;掌握bash 的建4Shell 编程立和执行方式; 掌握 bash4的基本语法;学会编写shell 脚本。掌握 C 语言编译的基本用法;掌握 gdb 调试工具5常用开发工具的基本用法;理解make2工具的功能,学会编制makefile的方法。理解系统调用和库函数Linux 环境编程的异同;学会用系统调用6和库函数进行编程; 掌握4(计算机科学与技术专业)一些常用的系统调用和库函数的功能及应用。了解 Linux内存管理的Linux 内存管理基本原理和方法, 了解内6存申请和释放的方式, 掌4(计算机软件专业)握 malloc,realloc,free等函数的使

3、用;实验一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 一般

4、命令格式;( 2)掌握有关文件和目录操作的常用命令;( 3)掌握有关进程操作的常用命令;( 4)熟练使用 man命令。二、实验内容(1)正确地登陆和退出系统;(2)熟悉 date , cal , who,echo, clear , passwd 命令;(3)在用户主目录下对文件进行如下操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等;( 4)对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等;( 5)利用 man显示 date , echo 等命令的手册页;( 6)显示系统中的进程信息。三 、实验软件VMWare Workstatio

5、n 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)验证当前工作目录在subdi

6、r;(2)运行 date >file1,然后运行cat file1,看到什么信息?( 3)运行 cat subdir, 会有什么结果,为什么?( 4)利用 man 命令显示 date 命令的使用说明;(5)运行 man date>>file1,看到什么?运行cat file1,看到什么?(6)利用ls l file1,了解链接计数是多少?运行ln file1 ./fa,再运行ls l file1,看链接计数有无变化?用cat命令显示fa文件内容。( 7)显示 file1 的前 10 行,后 10 行。(8)运行 cp file1 file2,然后 lsl ,看到什么?运行 m

7、v file2 file3,然后 lsl 看到什么?运行 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 编辑器建立、编辑、显示

8、及加工处理文本文件。二实验内容( 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 。重新编

9、译该文件。如果编译通过了,可以用./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 变量和位置参数、环境

10、变量;( 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 和第

11、二个参数m所限定范围的数据,n 和 m都是整数,即从输入的字符串中抽取第n 个字符至第m个字符之间的所有字符(包括这两个字符)。例如:$cuts 11 14tis is a test of cuts program (输入 )tst(显示结果五实验结果实验项目五常用开发工具一实验目的( 1)掌握 C 语言编译的基本用法;( 2)掌握 gdb 调试工具的基本用法;( 3)理解 make工具的功能,学会编制 makefile 的方法。二实验内容( 1)利用 gcc 编译 C 语言程序,使用不同选项,观察并分析显示结果;( 2)用 gdb 调试一个编译后的 C 语言程序;( 3)编写一个由多个文件构

12、成的C 语言程序,编制 makefile ,运行 make工具进行维护。三实验软件VMWare Workstation 5.0;Red hat linux 9.0;四实验主要步骤1、改写例6.1 ,使用下列选项对它进行编译:-I,-D,-E,-c,-o,-l2、完成对思考题6.5 、 6.6 的调试。3、完成对思考题6.9 的编制,并使用make进行维护。五实验结果实验项目六Linux内存管理一、实验目的( 1)了解 Linux 内存管理的基本原理和方法;( 2)了解内存申请和释放的方式;( 3)掌握 malloc ,realloc,free ,calloc函数的使用。二、实验内容( 1)使用

13、 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

14、 的内存错误原因。指出程序清单 6-5 的内存错误原因。通过比较程序清单 6-6 、6-7 输出结果,分析程序 6-3 内存错误原因。五实验结果程序清单:( 1) 5-1#include <syslib.h>#include <alloc.h>main()char *p;clrscr();/ clear screen p=(char *)malloc(100); if(p)printf("Memory Allocated at: %x",p); elseprintf("Not Enough Memory!n"); free(p);

15、return 0;(2)5-2#include <syslib.h>#include <alloc.h>main()char *p;clrscr();/ clear screenp=(char *)calloc(100,sizeof(char);if(p)printf("Memory Allocated at: %x",p);elseprintf("Not Enough Memory!n");free(p);return 0;(3)5-3#include <syslib.h>#include <alloc.h&g

16、t;main()char *p;clrscr();/ clear screen p=(char *)malloc(100); if(p)printf("Memory Allocated at: %x",p);elseprintf("Not Enough Memory!n");p=(char *)realloc(p,256);if(p)printf("Memory Reallocated at: %x",p);elseprintf("Not Enough Memory!n");free(p);return 0; (4

17、)5-4VoidApplyForMem(char *p,int num)p=(char*)malloc(sizeof(char)*num);return;intmain()char *str=NULL;.ApplyForMem(str,300);free(str);infile.close();return 0;(5)5-5#include <unistd.h>#include <stdlib.h>#include <stdio.h>int main() char z = *(const char *)0;exit(EXIT_SUCCESS);(6)5-6#

18、include“stdlib.h”#define HEAP_BLOCK_SIZE 32int main()/ 分配申明 heap 内存块 1char *pbuf1 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTestblock1 (%d bytes)at%08Xh", sizeof(pbuf1),pbuf1);*pbuf1 = '1'/ 分配申明 heap 内存块 2char *pbuf2 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTestbloc

19、k2 (%d bytes)at%08Xh", sizeof(pbuf2),pbuf2);*pbuf2 = '2'/ 分配申明 heap 内存块 3char *pbuf3 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTestblock3 (%d bytes)at%08Xh", sizeof(pbuf3),pbuf3);*pbuf3 = '3'/ 释放 heap 内存块 1printf("HeapTestblock 1 (%d bytes)at %08Xhfreed"

20、,sizeof(pbuf1),pbuf1);free(pbuf1);/ 释放 heap 内存块 2printf("HeapTestblock 2 (%d bytes)at %08Xhfreed",sizeof(pbuf2),pbuf2);free(pbuf2);/ 释放 heap 内存块 3printf("HeapTestblock 3 (%d bytes)at %08Xhfreed",sizeof(pbuf3),pbuf3);free(pbuf3);/ 分配申明 heap 内存块 4char *pbuf4 = (char *) malloc( HEAP

21、_BLOCK_SIZE);printf("HeapTestblock4 (%d bytes)at%08Xh", sizeof(pbuf4),pbuf4);*pbuf4 = '4'/ 分配申明 heap 内存块 5char *pbuf5 = (char *) malloc( HEAP_BLOCK_SIZE);printf("HeapTestblock5 (%d bytes)at%08Xh", sizeof(pbuf5),pbuf5);*pbuf5 = '5'/ 分配申明 heap 内存块 6char *pbuf6 = (ch

22、ar *) malloc( HEAP_BLOCK_SIZE);printf("HeapTestblock6 (%d bytes)at%08Xh", sizeof(pbuf6),pbuf6);*pbuf6= '6'for(;) Sleep(1000);return 0;(7)5-7#include“stdlib.h”#define HEAP_BLOCK_SIZE 32int main()/ 分配申明 heap 内存块 1char *pbuf1 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTestblo

23、ck1 (%d bytes)at%08Xh", sizeof(pbuf1),pbuf1);*pbuf1 = '1'/ 分配申明 heap 内存块 2char *pbuf2 = (char *) malloc(HEAP_BLOCK_SIZE);printf("HeapTestblock2 (%d bytes)at%08Xh", sizeof(pbuf2),pbuf2);*pbuf2 = '2'/ 分配申明 heap 内存块 3char *pbuf3 = (char *) malloc(HEAP_BLOCK_SIZE);printf(&

24、quot;HeapTestblock3 (%d bytes)at%08Xh", sizeof(pbuf3),pbuf3);*pbuf3 = '3'/ 释放 heap 内存块 3printf("HeapTestblock 3 (%d bytes)at %08Xhfreed",sizeof(pbuf3),pbuf3);free(pbuf3);/ 释放 heap 内存块 2printf("HeapTestblock 2 (%d bytes)at %08Xhfreed",sizeof(pbuf2),pbuf2);free(pbuf2);/ 释放 heap 内存块 1printf("HeapTestblock 1 (%d bytes)at %08Xhfreed",sizeof(pbuf1),pbuf1);free(pbuf1);/ 分配申明 heap 内存块 4char *p

温馨提示

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

评论

0/150

提交评论