linuxc编程实验指导书
- 格式:doc
- 大小:53.00 KB
- 文档页数:6
Linux程序设计实验指导书计算机应用系2012年11月实验一:Linux常用命令及编程环境1.实验相关知识简述Unix/Linux环境下使用C语言程序开发的项目主要经历设计、开发、调试、集成、部署和维护几个阶段。
目前典型的开发环境,主要使用vi、emacs、gedit等文字编辑工具完成源代码的编辑工作;通过指定不同的GCC编译器编译选项指定编译结果,根据编译器提示改正程序中的语法错误,最终生成符合目标要求的可执行二进制文件;当可执行文件执行结果与预期结果不一致时,使用GDB调试器跟踪程序执行过程,查看中间变量,改正源程序中存在的逻辑错误。
在大型项目管理中,由于文件较多,整个编译过程费时较长,安装、调试难度较大。
为解决手工管理效率低下的问题,引入Make工具,将项目编译、安装、维护等工作以脚本的形式组织在Makefile中,从而简化项目维护成本。
手工编写Makefile脚本难度较大且不利于统一规范,推荐使用Autotools工具集直接生成。
本实验仅设置手工编辑、编译Linux C源代码,生成可执行文件并调试。
GNU CC(简称为GCC)是GNU 项目中符合ANSI C 标准的编译系统,能够编译用C、C++和Object C 等语言编写的源程序。
GCC也可理解为一个工具集合,包含多个编译相关工具,如gcc编译C语言源程序,g++编译C++语言源程序,ld链接器等。
在编译C语言程序时,可直接使用gcc指令通过配置不同的参数选项达到指定GCC工具集的目的。
GCC的常用选项如表1.1所示表1.1 GCC常用选项功能选项描述与编译相关的GCC 选项-c 只是编译不链接,生成目标文件“.o”-S 只是编译不汇编,生成汇编代码-E 只进行预编译,不做其他处理-g 在可执行程序中包含标准调试信息-o file 把输出文件输出到file 里-v 打印出编译器内部编译各过程的命令行信息和编译器的版本-I dir 在头文件的搜索路径列表中添加dir 目录-L dir 在库文件的搜索路径列表中添加dir 目录-static 链接静态库-llibrary 连接名为library 的库文件报警与出错相关的-ansi 支持符合ANSI 标准的C 程序-pedantic 允许发出ANSI C 标准所列的全部警告信息GCC选项-pedantic-error 允许发出ANSI C 标准所列的全部错误信息-w 关闭所有告警-Wall 允许发出Gcc 提供的所有有用的报警信息-werror 把所有的告警信息转化为错误信息,并在告警发生时终止编译过程与体系结构相关的GCC选项-mcpu=type 针对不同的CPU 使用相应的CPU 指令。
实验1 linux c语言编程实践一、实验目的1.掌握Linux环境下C程序的编辑、编译、运行等操作;2.掌握多文件的编译及连接;3.初步掌握gdb调试方法;二、实验任务与要求1.在Linux环境下C程序的编辑、编译与运行;2.多文件的编译及连接;3.应用gdb调试程序;三、实验工具与准备计算机PC机,Linux Ubuntu操作系统四、实验步骤与操作指导1.调试下列程序。
程序通过创建一个小型函数库,它包含两个函数,然后在一个示例程序中调用其中一个函数。
这两个函数分别是pro1和pro2。
按下面步骤生成函数库及测试函数库。
步骤1 为两个函数分别创建各自的源文件(将它们分别命名为pro1.c和pro2.c)。
[root@localhost root]# vi pro1.c#include <sdtio.h>void pro1(int arg){printf(“hello:%d\n”,arg) ;}[root@localhost root]# vi pro2.c#include <sdtio.h>void pro2(char *arg){printf(“您好:%s\n”,arg) ;}步骤2 分别编译这两个文件,生成要包含在库文件中的目标文件。
这通过调用带有-c 选项的gcc编译器来实现,-c选项的作用是阻止编译器创建一个完整的程序,gcc将把源程序编译成目标程序,文件名为以.o结尾。
如果此时试图创建一个完整的程序将不会成功,因为还未定义main函数。
[root@localhost root]# gcc -c pro1.c pro2.c[root@localhost root]# ls *.opro1.o pro2.o步骤3 现在编写一个调用pro2函数的程序。
首先,为库文件创建一个头文件lib.h。
这个头文件将声明库文件中的函数,它应该被所有希望使用库文件的应用程序所包含。
Linux程序设计实验指导书10/ 1前言根据教学大纲与实验大纲的安排,本课程计划进行8课时上机试验。
由于所有实验均涉及操作系统、程序设计等课程的多个知识点,希望各位同学认真准备。
?上机实验前应充分做好以下准备工作:1.复习和掌握与本次实验有关的教学内容。
2.根据本次实验的内容,在纸上编写好准备上机调试的程序,并初步检查无误。
3.准备好对程序进行测试的数据。
4.对每种测试数据,给出预期的程序运行结果。
5.预习实验步骤,对实验步骤中提出的一些问题进行思考。
?上机实验后,应及时写出实验报告,实验报告应包括以下内容:1.实验目的和内容。
2.程序说明,包括程序结构、各模块的算法。
3.调试正确的源程序。
4.程序运行记录(包括对不同测试数据的运行结果)。
5.针对实验中出现的问题,写出解决办法及对运行结果的分析。
本指导书适用于物联网工程专业学生学习“Linux程序设计”课程时实验使用。
10/ I.实验一:熟悉Linux实验学时:2实验类型:(验证)实验要求:(必修)一、实验目的Linux操作系统是多任务操作系统,对进程与线程提供完整支持。
本次实验意图通过实践掌握进程的基本概念,理解进程控制、进程同步、经典进程的同步问题、管程机制、进程通信、线程;初步熟悉多进程/多线程编程的特点。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
本次实验意图通过实践了解Linux环境中常见的终端命令;熟悉文本编辑器leafpad 的使用。
二、实验内容本次实验的实验内容包括:1)熟悉man、cd、mkdir、rmdir、chmod、chown、ps、cat、ls命令;2) 练习使用文本编辑器leafpad。
实验1Linux下C语言编程实践一、实验目的1.掌握Linu某环境下C程序的编辑、编译、运行等操作;2.掌握多文件的编译及连接;3.初步掌握gdb调试方法;二、实验任务与要求1.在Linu某环境下C程序的编辑、编译与运行;2.多文件的编译及连接;3.应用gdb调试程序;三、实验工具与准备计算机PC机,Linu某Ubuntu操作系统四、实验步骤与操作指导1.调试下列程序。
程序通过创建一个小型函数库,它包含两个函数,然后在一个示例程序中调用其中一个函数。
这两个函数分别是pro1和pro2。
按下面步骤生成函数库及测试函数库。
printf(“hello:%d\\n”,arg);}printf(“您好:%\\n”,arg);}步骤2分别编译这两个文件,生成要包含在库文件中的目标文件。
这通过调用带有-c选项的gcc编译器来实现,-c选项的作用是阻止编译器创建一个完整的程序,gcc将把源程序编译成目标程序,文件名为以.o结尾。
如果此时试图创建一个完整的程序将不会成功,因为还未定义main 函数。
步骤3现在编写一个调用pro2函数的程序。
首先,为库文件创建一个头文件lib.h。
这个头文件将声明库文件中的函数,它应该被所有希望使用库文件的应用程序所包含。
voidpro1(int);voidpro2(char某);pro2(“Linu某world”);e某it(0);}步骤5编译并测试程序。
暂时为编译器显式指定目标文件,然后要求编译器编译文件并将其与预先编译好的目标模块pro2.o链接。
步骤6创建并使用一个库文件。
用ar程序创建一个归档文件并将目标文件添加进去。
这个程序之所以称为ar,是因为它将若干单独的文件归并到一个大的文件中以创建归档文件。
注意,也可以用ar程序来创建任何类型文件的归档文件。
也可以用“-l”选项来访问函数库,但是因为其未保存在标准位置,所以必须用-L选项来指示gcc在何处可以找到它,如下所示:要查看目标文件、函数库或可执行文件里包含的函数,可以使用nm 命令。
嵌入式学院实验手册linux基础及C高级实验嵌入式学院教材开发部编著(内部资料,请勿外传)嵌入式学院(2014)版权所有V3.0Linux基础实验实验一Linux常用命令的使用【实验内容】本课程要求学员对Linux基本操作命令有一定了解和掌握。
下面列出的一些常用命令作为参考。
最好针对每一个都能亲自练习、掌握。
【实验平台】PC机【实验步骤】1.ls 命令----------------------------------------------------------------------ls 以默认方式显示当前目录文件列表ls –a 显示所有文件包括隐藏文件ls –l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行----------------------------------------------------------------------2.cd 命令cd dir 切换到当前目录下的dir目录cd .. 切换到到上一级目录cd ~ 切换到用户目录,比如是root用户,则切换到/root下----------------------------------------------------------------------3.rm 命令rm file 删除某一个文件rm -rf dir 删除当前目录下叫dir的整个目录----------------------------------------------------------------------4.mv命令mv source target 将文件或者目录source更名为target----------------------------------------------------------------------5.echo 命令echo message 显示一串字符----------------------------------------------------------------------6.cat 命令cat file 显示文件的内容,和DOS的type相同cat file | more 显示文件的内容并传输到more程序实现分页显示,使用命----------------------------------------------------------------------7.du命令du 计算当前目录的容量du -sm /root 计算/root目录的容量并以M为单位----------------------------------------------------------------------8.find命令find -name <path> file 在/path目录下查找看是否有文件file----------------------------------------------------------------------9.grep命令grep -r “chars” ./ 在当前目录的所有文件查找字串chars -r表示递归查找子目录Ctrl +c 推出递归----------------------------------------------------------------------10.vi的使用vi file 编辑文件filevi原基本使用及命令:vi分为编辑状态和命令状态。
linux下c程序的编写实验报告实验主题:在Linux下编写C程序的实验报告一、引言(150-200字)Linux是一种广泛应用的操作系统,具有高度开放性和灵活性,也是许多程序员首选的开发环境。
在Linux中,通过编写C程序可以实现各种应用和功能。
本实验旨在通过一步一步的说明和回答,介绍在Linux下编写C 程序的基本步骤和方法。
二、实验步骤(400-500字)1. 设置编程环境在Linux中编写C程序,首先需要安装相关的开发工具和编译器。
常用的编译器有gcc和clang,可以通过包管理器进行安装。
同时,也需要一个文本编辑器来编写C代码,比如vim或者emacs。
2. 编写Hello World程序Hello World程序是C语言学习的经典入门程序,它可以在屏幕上输出"Hello World"。
在文本编辑器中新建一个文件,命名为hello.c,然后在文件中输入以下代码:#include <stdio.h>int main() {printf("Hello World\n");return 0;}保存文件后,使用gcc编译器将该文件编译成可执行文件。
在终端中执行以下命令:gcc -o hello hello.c此时会生成一个名为hello的可执行文件。
通过执行该文件,可以在终端中看到输出结果"Hello World"。
3. 命令行参数和用户输入C程序可以接受命令行参数和用户输入,从而实现更复杂的功能。
在上一步编写的程序的基础上,我们尝试接收用户输入的姓名,并输出相应的问候语。
在hello.c文件中添加以下代码段:#include <stdio.h>int main(int argc, char *argv[]) {char name[100];printf("Please enter your name: ");scanf("s", name);printf("Hello, s!\n", name);return 0;}重新编译程序并执行,可以看到在终端中会提示用户输入姓名,并输出相应的问候语。
课程名:Linux下c语言编程专业:08嵌入式系统工程专试验1:Linux系统基本shell指令试验2:gcc编译器与多文件交叉包含试验3:库文件的创建与使用试验4:linux系统程序调试-行列式求值程序试验5:进程与线程程序调试试验6:TCP程序与试验7:UDP程序试验1 Linux系统基本shell指令实验一Linux系统基本文件操作试验目的:掌握Linux系统常见的文件操作指令;掌握Linux系统常见的文件形式;试验设备PC机、虚拟机、redhat9,桌面环境KDE试验原理一、Linux系统常见的文件形式(一)为便于用户识别文件形式,操作系统一般使用扩展名来标示文件类型。
文件扩展名是文件名的最后一个点之后的部分(在文件sneakers.txt中,“txt”是文件的扩展名)。
下面简单列出了一些文件扩展名和它们的含义:1. 压缩的和归档的文件.bz2 —使用bzip2 压缩的文件.gz —使用gzip 压缩的文件.tar —使用tar(tape archive,磁带归档的简写)压缩的文件,又称tar 文件.tbz —用tar 和bzip 压缩的文件.tgz —用tar 和gzip 压缩的文件.zip —使用ZIP 压缩的文件,在MS-DOS 应用程序中常见。
多数为Linux 压缩的文件使用gzip 压缩,因此Linux 文件中的.zip 归档较少见。
2. 文件格式.au —音频文件.gif —GIF 图像文件.html/.htm —HTML 文件.jpg —JPEG 图像文件.pdf —文档的电子映像;PDF 代表Portable Document Format(可移植文档格式).png —PNG 图像文件(Portable Network Graphic 的简写,可移植网络图形).ps —PostScript 文件,为打印而格式化过的文件.txt —纯ASCII 文本文件.wav —音频文件.xpm —图像文件3. 系统文件.conf —一种配置文件。
学生学号0120810680336实验课成绩武汉理工大学学 生 实 验 报 告 书实验课程名称 开 课 学 院 指导老师姓名 学 生 姓 名 学生专业班级《Linux 应用开发技术》 应用开发技术》 计算机科学与技术学院 祁明龙 徐泽前 软件 08032011 — 2012 学年 第 一 学期实验课程名称:实验项目名称 实验者 同组者Linux应用开发技术实验成绩 组别 实验日期 年 月 日Linux make utility and makefile scripting.徐泽前 专业班级 软件 0803第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)在 Linux(unix)环境下使用 GNU 的 make 工具能够比较容易的构建一个属于你 自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的 执行。
不过这需要我们投入一些时间去完成一个或者多个称之为 Makefile 文件的 编写。
此文件正是 make 正常工作的基础。
所要完成的 Makefile 文件描述了整个 工程的编译、 连接等规则。
其中包括: 工程中的哪些源文件需要编译以及如何编译、 需要创建那些库文件以及如何创建这些库文件、 如何最后产生我们想要得可执行文 件。
尽管看起来可能是很复杂的事情,但是为工程编写 Makefile 的好处是能够使 用一行命令来完成“自动化编译”, 一旦提供一个 (通常对于一个工程来说会是多个) 正确的 Makefile。
编译整个工程你所要做的唯一的一件事就是在 shell 提示符下输 入 make 命令。
整个工程完全自动编译,极大提高了效率。
此次实验的目的:了解 linux make 工具的使用,以及学会编写简单的 makefile 脚本二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述)1.了解 make 的相关规则 2.编写项目源代码,这里采用 Stu_sys 系统来进行 makefile 脚本的编写 3.运行程序 4.分析结果三、主要仪器设备及耗材设备:计算机一台 OS: Linux ubuntu Editor: VIM第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)1. 设计实现 stu_sys 系统 2. 根据 stu_sys 系统编写 makfile 脚本 脚本文件名为 makefile.mk # # copyright(C)2011 QingxinLee Whut Email:Lee_Ware@ # vpath %.h include vpath %.c src cc=gcc -c stu_sys:main.o stu_sys.o gcc $? -o $@ main.o:main.c stu.h struct.h $(cc) $< -I include stu_sys.o:stu_sys.c stu.h struct.h $(cc) $< -I include .PHONY:clean clean: rm -f *.o stu_sys 3. 执行脚本 通过如下命令来执行脚本:make –f makefile.mk 4. 以下是执行脚本输出的结果: 以下是执行脚本输出的结果:edit : main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o cc -o edit main.o kbd.o command.o display.o \ insert.o search.o files.o utils.omain.o : main.c defs.h cc -c main.c kbd.o : kbd.c defs.h command.h cc -c kbd.c command.o : command.c defs.h command.h cc -c command.c display.o : display.c defs.h buffer.h cc -c display.c insert.o : insert.c defs.h buffer.h cc -c insert.c search.o : search.c defs.h buffer.h cc -c search.c files.o : files.c defs.h buffer.h command.h cc -c files.c utils.o : utils.c defs.h cc -c utils.c clean :rm edit main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o二、实验结果及分析(包括结果描述、实验现象分析、影响因素讨论、综合分析和结论等) make 命令执行时,需要一个 Makefile 文件,以告诉 make 命令需要怎么样的去编译和链接程 序。
《Linux用户环境和基本编程》实验指导书目的:熟悉LINUX的基本操作命令,并能在LINUX下编译和运行简单的程序。
为后面的编程打好基础。
内容:1、Linux基本命令2、vi编辑器的使用3、用gcc编译一个简单C程序1、Linux基本命令文件操作 find tar Linux的登录与退出cp 目录操作 帮助系统 loginmv pwd man passwordrm cd --help exitchown mkdir 显示和设置日期时间rebootchmod rmdir date haltcat ls 文件编辑 切换用户touch 压缩和解压vi suz帮助系统man例:man lsf 前进一屏 b 后退一屏d 前进半屏 u 后退半屏home 首页 end 尾页h 帮助 q 退出--help例:ls –helpz文件操作创建文件:touch语法:touch filename复制文件:cp语法:cp [选项] 源文件或目录 目标文件或目录选项:- i 在覆盖目标文件之前将给出提示要求用户确认。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。
移动或重新命名文件:mv语法:mv [选项] 源文件或目录 目标文件或目录视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
当第二个参数类型是文件时,mv命令完成文件重命名,当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
删除文件:rm语法:rm [选项] 文件或目录选项:- f 强制删除,不给出提示。
- r 递归删除,删除目录时需使用。
z目录操作显示工作目录:pwd改变工作目录:cd创建新目录:mkdir删除目录:rmdir注:此命令与rm的区别是,rmdir要求目录为空。
列目录:ls语法:ls [选项] [目录或是文件]选项:- a 显示指定目录下所有子目录与文件,包括隐藏文件。
实验三_LINUX的C语言编程第一篇:实验三_LINUX的C语言编程实验三 LINUX的C语言编程要求:1、请查阅资料,掌握vi编辑器的基本使用,包括两种不同模式的区别,如何在两种模式之间切换,以及常用的编辑命令等;2、使用vi编写一个c程序,要求该程序通过命令行接收用户的输入,其输入参数为FreeBSD系统中的任意文本文件,接收输入后,c 程序读取该文件内容,并打印在屏幕上。
编辑好后,存为.c文件(如a.c),使用gcc编译该文件,运行结果文件。
3、详细记录学习的内容和实验的整个过程,包括用到的vi命令,c程序源代码,gcc命令,以及执行结果文件的命令等;4、对整个实验过程进行分析总结,给出详细步骤;一:vi编辑器的使用vi 的两种命令模式;Command(命令)模式,用于输入命令;Insert(插入)模式,用于插入文本;Visual(可视)模式,用于视化的的高亮并选定正文;Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。
当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;文件的保存和退出 :w 保存;:w filename 另存为filename; :wq!保存退出;:wq!filename 注:以filename为文件名保存后退出;:q!不保存退出;:x 应该是保存并退出,功能和:wq!相同光标移动j 向下移动一行; k 向上移动一行; h 向左移动一个字符; l 向右移动一个字符;插入模式(文本的插入)i 在光标之前插入; a 在光标之后插入;I 在光标所在行的行首插入; A 在光标所在行的行末插入;o 在光标所在的行的上面插入一行;O 在光标所在的行的下面插入一行;s 删除光标后的一个字符,然后进入插入模式; S 删除光标所在的行,然后进入插入模式;文本内容的删除操作 x 一个字符;#x 删除几个字符,#表示数字,比如3x; dw 删除一个单词;#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;dd 删除一行;#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;恢复修改及恢复删除操作; u 撤消修改或删除操作;查找/SEARCH 注:正向查找,按n键把光标移动到下一个符合条件的地方; ?SEARCH 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的替换:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH 单词,替换成REPLACE,并把所有SEARCH高亮显示;:%s /SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE;:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;二:编写程序和编译程序先在home文件夹下建立test文件夹,用于自己的程序开发。
《UNIX/LINUX》实验指导书一、实验目的UNIX/LINUX是一门应用性很强的课程,上机实验是该课程的重要环节。
本实验是结合《UNIX/LINUX》课程的学习而开设的实验。
本实验目的如下:1. 通过上机实验,加深对UNIX操作系统理论知识的进一步理解,增强对UNIX操作系统的感性认识和实际操作能力;2. 通过使用具体的LINUX操作系统,熟悉LINUX的工作环境,掌握其安装、配置与基本操作技术。
3. 熟悉常用的shell命令,掌握shell编程技术。
4. 熟悉LINUX环境下C语言应用程序开发的基本过程,熟悉基本库函数的使用,具有初步的应用程序设计能力。
二、适应专业计算机科学与技术专业三、实验学时数10学时四、实验内容及学时安排实验一:基本Shell命令练习实验目的:熟悉Red Hat Linux 9.0的操作环境;了解图形与命令行式两种操作方法;掌握基本Shell 命令的使用。
学时数:2学时实验内容:基本Shell命令实验要求:1.熟悉Red Hat Linux 9.0的操作环境,掌握登录、退出系统等基本操作与过程;2.了解图形与命令行式两种操作方法;3.基本Shell命令练习。
实验二:Shell编程实验目的:理解Shell程序的设计方法;熟悉Shell程序的编辑、运行、调试方法与过程。
学时数:2学时实验内容:考勤模拟Shell程序设计实验要求:编写一考勤模拟Shell脚本程序完成实验内容所述任务,并能上机正确运行与显示结果。
实验三:文件管理实验目的:熟悉LINUX环境下C语言应用程序开发的基本步骤;完成简单文件管理C应用程序的开发。
学时数:2学时实验内容:文件复制程序设计实验要求:1.熟悉Linux下最常用的C语言编译器GCC的基本使用方法;2.编写文件复制C语言程序,完成实验内容规定所述任务,并能上机正确编译与运行。
实验四:进程通信实验目的:熟悉LINUX中典型进程通信方式;完成简单进程通信应用程序的开发。
学时数:4学时实验内容:进程通信程序设计实验要求:1.进一步深入典型进程通信机制与原理;2.编写进程通信C语言程序,完成实验内容所述任务,并能上机正确编译与运行。
五、教材及参考文献1.张红光、李福才等编著.《UNIX操作系统教程》.机械工业出版社,2004.52.森林图书工作室编.《Linux&Unix C程序员参考大全》.国防工业出版社,2001.93.4./nuke/index.php六、实验环境Windows 2000/XP+Red Hat Linux 9.0 双操作系统或Windows 2000/XP(宿主机)+Red Hat Linux 9.0 (虚拟机)八、成绩考核1.上机实验考核采取实验报告和上机抽查检验相结合的方式,每单元实验结束后都必须写出实验报告。
2.实验结果需符合实验的教学要求,且得到指导教师的认可。
3.指导教师对实验报告进行批改、评分将成绩登录在册。
不符合实验要求的重做。
4.该课程所有实验结束后,进行一次综合性考核,指导教师根据学生的实验及报告给出考核成绩,然后与平时成绩结合(平时成绩30%,考核成绩70%)给出学生的最终实验成绩。
九. 实验报告格式参考如下:[ 实验日期 ][ 实验目的 ][ 实验内容 ][ 实验要求 ][ 实验分析与设计][ 实验运行结果与相关代码 ][ 收获与体会 ]实验一基本Shell命令练习[ 实验目的 ]熟悉Red Hat Linux 9.0的操作环境;了解图形与命令行式两种操作方法;掌握基本Shell命令的使用。
[ 实验内容 ]以图形或命令行方式完成以下任务:1、使用man命令查看ls命令使用手册2、以root帐户登录LINUX系统,查看提示符确定自己使用的Shell程序类型3、创建新的帐户user1,设置新口令,并以user1帐户信息重新登录系统。
4、查看当前登录在系统中的用户列表、用户总数、系统启动时间等信息。
5、查看当前用户的标示符6、查看当前终端和所有终端进程的状态7、显示当前目录并将当前目录切换至根目录8、列出当前目录的目录文件信息,查看当前目录各文件的大小9、创建新目录/test再删除10.查看当前磁盘使用情况以及文件系统挂载信息11.将windows下的C盘挂载至LINUX系统的根目录下,查看文件系统挂载信息12、将U盘挂载至LINUX系统的根目录下,查看文件系统挂载信息13、从键盘键入一段内容并将其保存至文本文件test中14、拷贝文件test.txt至test1.txt中15、显示text文件属性信息并设置起新的权限为077716、改变text属主为另一用户(chown guest1 text)17、显示/usr/include目录下所有后缀为.h的文件并分屏显示出其具体路径信息18、在当前目录查找包含内容”ab”的文件并显示行号[ 实验要求 ]1.熟悉Red Hat Linux 9.0的操作环境,掌握登录、退出系统等基本操作与过程。
2.了解图形与命令行式两种操作方法;3.按照实验内容选择正确的Shell命令完成任务。
[ 实验方法 ]1、正常登录系统2、可以以图形或命令行方式完成,也可交互使用实验二Shell编程[ 实验目的 ]理解Shell程序的设计方法;熟悉Shell程序的编辑、运行、调试方法与过程。
[ 实验内容 ] 考勤模拟Shell程序设计用shell设计一个考勤模拟程序,实现如下功能选择界面:1.上班签到2.下班签出3.缺勤信息查阅考勤程序运行后,提示用户输入上述功能选择,并验证用户输入的用户名和密码;用户信息保存在userinfo.dat中。
如果是上班签到,记录签到信息,如果签到时间大于上午8时,则提示用户迟到,并记录该迟到信息到check.dat。
如果是下班签出,记录签出信息,如果签出时间小于下午6时,则提示用户早退,并记录该早退信息到check.dat。
如果用户选择缺勤信息查询,则将check.dat中对应该用户的迟到早退信息查出并显示。
用户选择功能执行完,shell程序继续回到功能选择界面等待下一个用户进行操作。
[ 实验要求 ]1、掌握Shell程序的编辑、运行、调试方法2、完成实验内容要求实现的功能3、撰写实验报告[ 实验方法 ]1、Shell程序的编辑可使用vi,emacs等Linux下的各种文本编辑器。
本课程实验可使用Red Hat Linux9.0下的Text Editor 。
2、Shell程序的执行有两种方式:sh [Shell程序名] 或 ./ [Shell程序名]例:设Shell程序名称为test.sh,则可以通过sh test.sh 或./test.sh。
但是要注意在使用./ [Shell 程序名]时必须确保对Shell程序具有可执行权限。
3、Shell程序的调试可以通过建立多个工作区交互进行。
实验三文件管理[ 实验目的 ]熟悉LINUX环境下C语言应用程序开发的基本步骤;完成简单文件管理C应用程序的开发。
[ 实验内容 ]文件程序设计在一个半径为R的监测区域,随机分布有M个节点,每个节点的感应半径为r,请完成:(1)建立节点的位置信息文件(2)建立网络的拓扑信息文件假设每个节点有一个随机的监测数据,完成:(3)距离中心最近的节点为initiator node发出top-k查询请求,采用flooding协议,查询结果采用网内聚集的方式,最后汇聚到initiator node。
给出top-k集及查询完成过程中总的传输字节数。
假设每个请求包的大小为m个字节,每个数据的大小为n个字节。
4)假设传输速率是t 比特/s,计算查询响应时间。
5)假设接受一个字节的能耗为e_in焦,发送一个字节的能耗为e_out焦,计算完成一次查询的总的能量消耗。
6)假设每个节点的初始能量为e_ini焦,计算网络的生命周期(lifetime)[ 实验要求 ]1、熟悉Linux下最常用的C/C++程序编译器GCC/G++的基本使用方法;2、编写应用程序,完成实验内容规定任务,并能上机正确编译与运行。
3、撰写实验报告[ 实验方法 ]1、Linux下的简单的C程序编译连接可使用GCC完成。
GCC的一般命令格式是:GCC -o [exefile] [sourcedile] 或 GCC [sourcedile] ,其中GCC [sourcedile]格式则生成默认的可执行文件a.out2、C程序的运行命令: ./exefile,例如:设已正确编译连接生成的可执行文件名称为test.exe,则执行命令为./test.exe实验四进程通信[ 实验目的 ]熟悉LINUX中典型进程通信方式;完成简单进程通信应用程序的开发。
[ 实验内容 ]进程通信程序设计1、管道进程通信程序设计:编写一C/C++语言程序使其完成:父子进程通过无名管道传递三条消息:管道文件的测试程序开始;管道文件测试正在进行;管道通信测试结束。
接收进程受到信息后将他们送到标准输出文件上。
2、基于IPC消息处理的进程通信程序编写一个server程序和一个client程序。
client程序不停地接收用户输入的命令,并将命令以IPC消息的方式发送给server程序,server程序接收到该命令并执行这个命令, Client程序接收用户的下一条命令输入,直到用户输入“quit”命令。
[ 实验要求 ]1、进一步深入理解典型进程通信机制与原理;2、编写进程通信C/C++语言程序,完成实验内容规定任务,并能上机正确编译与运行。
3、撰写实验报告[ 实验方法 ]同实验三。
(注:可编辑下载,若有不当之处,请指正,谢谢!)。