Linux程序实验
- 格式:docx
- 大小:75.01 KB
- 文档页数:20
《L i n u x程序设计》教学大纲Linux Program Design课程类别:学科专业教育课程课程名称:Linux程序设计开课单位:软件学院课程编号:N03140112总学时:32 学分:2适用专业:软件工程先修课程:程序设计基础一、课程在教学计划中的地位、作用通过讲授Linux的操作使用、系统结构和Linux环境下的程序设计,使学生对Linux 操作系统获得一个全面的认识和掌握。
一方面,学生通过学习系统程序设计,能够复习操作系统中的基本概念,对文件管理、进程控制有更深入的理解;另一方面,学生学会在Linux环境下工作,进一步熟悉C语言程序设计和数据结构的知识,编写进行系统维护的脚本文件和实用化的大型应用程序,如网络应用程序。
同时,本课程为学生进一步学习其它后续课程(如高级操作系统、Linux内核源代码分析、嵌入式系统等)打下基础。
二、课程内容、基本要求第一章 linux基础1、了解什么是Linux,UNIX和Linux的历史,Linux/UNIX的系统结构;2、掌握Linux的基本命令和操作使用,Linux程序设计的预备知识。
第二章 Shell程序设计1、了解什么是shell;2、掌握创建和执行Shell脚本,Shell程序设计的语法。
第三章 Linux系统程序设计(一)文件操作与文件管理1、掌握Linux文件系统的实现,系统调用和标准I/O库,文件属性目录的实现和操作,系统数据文件,文件锁,高级I/O。
第四章Linux下简单的C程序设计1、掌握GCC的使方法2、掌握在linux下编写基本C程序。
第五章 Linux系统程序设计(二):进程控制和进程间通信1、了解进程的概念;2、掌握Linux中的进程和进程环境,进程控制,进程间的关系,信号,daemon进程,进程间通信,线程。
第六章 Linux网络程序设计1、了解TCP/IP基础知识,什么是socket,socket编程,远程过程调用。
2、掌握Linux平台数据结构的传送方法。
三、实验实验一 Linux基本命令的使用1、学会并掌握linux的基本命令实验二 Shell程序设计1、Shell程序设计中变量的使用;2、理解通道的概念并初步掌握它的使用方法;3、掌握算术操作、字符串操作、逻辑操作、文件操作;4、掌握if then fi、if then elif fi、case、while、for等控制语句;5、在shell脚本中使用函数实验三文件操作与文件管理1、熟悉Linux下常用的操作指令。
2、加深对文件,目录,文件系统等概念的理解。
3、掌握Linux文件系统的目录结构。
4、掌握有关Linux文件系统操作的常用命令。
5、了解有关文件安全方面的知识。
实验四 Linux下简单的C程序设计1、了解并掌握GCC等Linux的开发调试环境。
2、掌握使用标准C的文件操作函数和Linux的系统调用。
实验五进程控制和进程间通信1、理解和掌握UNIX和Linux进程通信系统调用的功能实验六网络程序设计1、理解Socket概念;?2、理解并掌握Socket模型下获得本机IP信息的方法;?3、理解并发服务器模型,掌握通用套接字开发技术;?4、掌握Linux平台数据结构的传送方法。
四、学时分配《Linux环境C程序设计》、《linux简明教程》、《linux基础教程》六、考核方式(包括作业、测验、考试等及其所占比例)考试:60% 实验:30%平时:10%《Linux程序设计》实验大纲Linux Program Design课程类别:学科专业教育课程课程名称:Linux程序设计开课单位:软件学院课程编号:N03140112总学时:32 学分:2适用专业:软件工程先修课程:程序设计基础一、实验教学目标熟练掌握shell编程、熟练使用linux系统、掌握进程控制和进程间通信,学会编写网络程序,学会在linux环境中编写web程序。
养成一种良好的程序设计风格。
二、实验环境Linux三、实验教材及参考书:[1] 实验指导书(自编讲义)[2]《Linux环境C程序设计》徐诚高莹婷等清华大学出版社[3]《linux入门到精通》刘忆智清华大学出版社四、实验成绩评定方式根据学生在实验过程中的认真程度、上机结果验收情况以及实验报告撰写质量,进行综合评定。
五、实验项目及学时分配实验一 Linux基本命令的使用1、实验目的(1)学习和掌握Linux的基本命令(2)增强学生对Linux的学习兴趣2、实验内容(1)linux的登录操作(2)常用基本命令的使用实验二 Shell程序设计1、实验目的(1).Shell程序设计中变量的使用;?(2).理解通道的概念并初步掌握它的使用方法;?(3).掌握算术操作、字符串操作、逻辑操作、文件操作;?(4).掌握if?then?fi、if?then?elif?fi、case、while、for等控制语句;(5).在shell脚本中使用函数;2、实验内容(1).通过对shell程序的调试,理解变量$#,$0,$1,$2,$3,$@的含义;?(2).Shell顺序程序设计;?(3).Shell分支程序与多分支程序设计;?(4).Shell循环程序设计。
实验三文件操作与文件管理1、实验目的(1).熟悉Linux下常用的操作指令。
(2).加深对文件,目录,文件系统等概念的理解。
(3).掌握Linux文件系统的目录结构。
(4).掌握有关Linux文件系统操作的常用命令。
(5).了解有关文件安全方面的知识。
2、实验内容Linux文件系统操作的常用命令。
实验四Linux下简单C程序设计1、实验目的(1)学习和掌握gcc等Linux的开发调试环境。
?(2)学会在Linux下编写C程序。
2、实验内容(1)学习GCC编译程序(2)学习并分别使用标准C的文件操作函数和Linux的系统调用创建一个对学生基本信息进行操作(插入、修改和删除)的C程序。
实验五进程控制和进程间通信1、实验目的为了理解和掌握UNIX和Linux进程通信系统调用的功能,这里给出了进程通信实现机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程,以便通过学习,提高学生对进程通信系统调用的编程能力。
2、实验内容编写一个有名管道程序。
一个(客户)进程从键盘循环读一系列字符,将这些字符和发送者的pid发给服务器进程,让其统计输入的是字符还是数字,分别为多少个,完成后再向客户进程发回服务的结果,由客户进程输出。
实验六网络程序设计1、实验目的(1).理解Socket概念;?(2).理解并掌握Socket模型下获得本机IP信息的方法;?(3).理解并发服务器模型,掌握通用套接字开发技术;?(4).掌握Linux平台数据结构的传送方法。
2、实验内容(1).编写获得本机IP信息的程序;(2).编写基于并发服务器模式的网络通信原型系统;(3).要求至少综合使用到实验目的中提到的三条或三条以上内容。
《Linux程序设计》实验指导书实验类别:课内实验实验课程名称:Linux程序设计实验室名称:软件工程专业实验室实验课程编号:N03140112总学时:32 学分: 2适用专业:软件工程先修课程:Linux操作系统、C程序设计实验在教学培养计划中地位、作用:通过讲授Linux的操作使用、系统结构和Linux环境下的程序设计,使学生对Linux 操作系统获得一个全面的认识和掌握。
一方面,学生通过学习系统程序设计,能够复习操作系统中的基本概念,对文件管理、进程控制有更深入的理解;另一方面,学生学会在Linux环境下工作,进一步熟悉C语言程序设计和数据结构的知识,编写进行系统维护的脚本文件和实用化的大型应用程序,如网络应用程序。
同时,本课程为学生进一步学习其它后续课程(如高级操作系统、Linux内核源代码分析、嵌入式系统等)打下基础。
实验一Linux基本命令的使用1、实验目的(1)学习和掌握Linux的基本命令(2)增强学生对Linux的学习兴趣2、实验内容(1)linux的登录操作(2)常用基本命令的使用3、实验要求(1)实验前认真预习实验内容,详细了解本实验所涉及到的相关理论知识。
(2)填写完整的实验报告。
4、实验步骤步骤1:以user_login用户身份并使用telnet登录Linux服务器,按照提示创建自己的账户和口令。
步骤2:使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。
步骤3:使用pwd命令察看当前的工作目录,然后用ls命令查看当前目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。
步骤4:在当前目录下建立一个名为test的新目录,然后将工作目录切换到test下,尝试将/etc目录下的文件passwd拷贝到该目录下(cp 源文件目的目录)。
察看当前目录下的passwd文件的属主和文件权限。
步骤5:尝试向当前目录下的passwd文件和/etc/passwd文件分别写入一些新内容(可使用echo “字符串”>>文件的命令),看看操作能否成功,如果不能成功,请说明原因。
用cat命令浏览文件password的内容,用more命令进行浏览翻页操作,再用less 命令浏览文件的内容。
比较这几个命令的不同之处。
步骤6:用ls命令查看test下文件的权限,用mv命令更改文件password的文件名为,尝试用chown和chgrp更改文件的属主为root、组为root,看看能否成功,不成功,请说明原因。
尝试用chomd将文件权限为“-rw-------”。
看看能否成功,不成功,请说明原因。
步骤7:用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。
(想一想有没有一条命令将目录及目录下的所有文件删除,写出这条命令)步骤8:使用ps命令查看当前系统内的进程,并利用man命令获取ps命令的参数,写出获取当前终端进程执行情况的ps命令。
步骤9:使用df命令查看当前系统已安装的文件系统的空间使用情况,记录结果。
步骤10:使用du命令查看用户的工作目录占用了多少空间,记录结果。
步骤11:使用free命令查看内存资源的使用情况,记录结果。
实验二 Shell程序设计1、实验目的(1).Shell程序设计中变量的使用;(2).理解通道的概念并初步掌握它的使用方法;(3).掌握算术操作、字符串操作、逻辑操作、文件操作;(4).掌握if then fi、if then elif fi、case、while、for等控制语句;(5).在shell脚本中使用函数;2、实验内容(1).通过对shell程序的调试,理解变量$#,$0,$1,$2,$3,$@的含义;(2).Shell顺序程序设计;(3).Shell分支程序与多分支程序设计;(4).Shell循环程序设计。