Linux设计报告

Linux设计报告
Linux设计报告

广西大学计算机与电子信息学院

课程设计报告

( 2015——2016年度第一学期)

名称: UNIX程序设计课程设计

题目: UNIX程序设计课程设计

院系:计算机与电子信息学院

班级:计科132班

学号: 58

学生姓名:郭江达

指导教师:葛志辉

设计周数: 2周

成绩:

日期: 2015年 12月 27日

目录

1. 设计任务 (1)

2. 设计步骤 (1)

开发环境配置 (1)

开发工具 (2)

3. 程序开发步骤 (4)

4. 遇到的问题及相应解决办法 (12)

5. 个人体会及建议 (13)

参考文献 (13)

1. 设计任务

设计题目、任务及完成情况的大致说明,让老师能够了解你所做工作的大体情况。(每个人都要独立完成下面三个题目,不要相互抄袭!切记!)

1、完成Linux下的shell编程,要利用shell编程实现某一个具体的功能。

2、完成Linux下的C语言编程,要求至少包括两个文件,比如一个,,中包含了中的声明,分别利用gcc和makefile进行编译。

3、完成Linux下PHP+MySQL的编程,能够完成一个简单的具有数据库存储功能的网站。

2. 设计步骤

开发环境配置

Shell编程的开发环境

Shell编程的开发环境不需要什么配置,只需在Linux系统的终端进行即可。 C语言编程的开发环境

C语言在Linux系统下编程,需要dev安装包,用于编译C语言。

在终端下输入“sudo apt-get install libc6-dev”进行下载,在下载之前需要输入登录密码,之前已经下载好了,如下图所示:

下载好后,系统会自动安装,安装完成便可在终端编译C语言程序了。

Linux下PHP+MySQL编程的开发环境

这是在ubuntu上搭建LAMP,需要安装“php5”,“mysql”,“apache2”和“phpmyadmin”,如下图所示:

开发工具

VMware Workstation 12 虚拟机

VMware Workstation 12 虚拟机简介:著名的虚拟机软件。不需要分区或重开机就能在同一台PC上使用两种以上的操作系统,完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料,不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制贴上功能等。

安装方法:

1.下载虚拟机可执行文件点击运行,按照安装教程安装即可。

使用方法:

打开虚拟机,在“文件”菜单中选择“新建虚拟机”,然后弹出“新建虚拟机

向导”,然后参照虚拟机安装步骤进行安装即可。

Linux系统

Linux Mint简介:Linux Mint是一份基于Ubuntu的发行版,其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件、多媒体编解码器、对DVD播放的支持、Java和其他组件。它与Ubuntu 软件仓库兼容。Linux Mint 是一个为pc和X86电脑设计的操作系统因此,一个可以跑得动Windows的电脑也可以使用Linux Mint来代替Windows,或者两个都跑。既有Windows又有Linux的系统就是传说中的“双系统”。

安装方法:

1.下载Linux系统镜像文件;

2.在虚拟机中新建一个虚拟机,通过安装教程安装即可;

使用方法:直接运行即可。

dev

dev简介:编译C语言程序的一个软件。

安装方法:在终端上输入sudo apt-get install libc6-dev,然后系统提示输入密码,输入后即可下载并自动安装。

使用方法:编写好C语言代码后,利用gcc或makefile方法便可编译运行。

Apache2+php5+mysql

Apache2简介:版本比老版本更加强大,更具可扩展性。一个多线程/多进程的混合模块使它可以充分利用各种规模的主机性能(从一台只运行小型站点的典型X86服务器到同时运行多个虚拟实例的大型主机),这正是所缺乏的。新版本以插件的形式提供了对一些特定平台和几个通用模块的支持。对IPV6的官方支持已经为互联网的升级做好了准备,对的支持提高了代理服务器的性能。

PHP5简介:PHP是一种简单、轻便的服务器端脚本语言。PHP最初是作为一个快速、实用的工具包出现的。随着MySQL数据库的发展,PHP5还绑定了新的MySQLi扩展模块,它提供了一些更加有效的方法和实用工具用于处理数据库操作。这些方法大都以面向对象的方式实现,同时也极大地提高了基于数据库的Web项目的执行速度。另外,PHP5中还改进了创建动态图片的功能,能够支持

多种图片格式(如PNG、GIF、TTIF、JPGE等)。PHP5以及内置了对GD2库的支持,因此安装GD2库(主要指UNIX系统中)也不再是件难事,这使得处理图像十分简单和高效。大多数Web程序开发者依然将XML作为一个彻底的简单数据库使用。PHP5中也采用了一系列简单易用、功能强大的方法处理XML文档。

MySQL简介:MySQL是一个关系型数据库管理系统。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL 作为网站数据库。由于其社区版的性能卓越,搭配PHP 和Apache 可组成良好的开发环境。

安装方法:在ubuntu环境下搭建apache2 + MySQL +PHP同时安装mysql管理软件phpmyadmin。

首先下载安装apache2

输入:sudo apt-get install apache2

安装完毕后,在浏览器中输入:localhost

显示如下图,说明安装正确。

紧接着安装php5

输入:sudo apt-get install php5

安装完毕后,再安装MySQL

输入:sudo apt-get install mysql-server

紧接着安装phpmyadmin

输入:sudo apt-get install phpmyadmin

根据提示选择,选择apache2 再输入root密码和数据库密码

紧接着改写 /var/www目录的权限。方便日后编辑网站文件。

输入:sudo chmod 777 /var/www

Linux 系统课程设计报告

Linux 系统课程设计报告 专业班级: 学号: 姓名: 同组成员: 2016年6月2日星期四

序论实验要求 实验目的 了解Linux内核源代码的目录结构及各目录的相关内容。 了解Linux内核各配置选项内容和作用。 掌握Linux内核配置文件的作用。 掌握Linux内核的编译过程。 掌握将新增内核代码加入到Linux内核结构中的方法。 实验指引 尽管目前Linux 2.6版本内核已经增加了很多对ARM体系甚至是S3C2440 CPU 的支持,但仍然需要对内核作一些小的修改来适应我们的开发板,并且需要重新配置、编译和重新生成新的内核映像。本实验从软硬件准备到下载到开发板等一系列连贯的操作来进行嵌入式Linux内核的移植。本实验的内核版本为2.6.29.1。 第一章Linux内核基础知识 1.1Linux版本 Linux主要的版本定义为“[主].[次].[发布].[修改]”的样式,次版本为奇数表示此版本为开发中版本,次版本为偶数表示此版本为稳定版本。 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 29 EXTRA VERSION = .1 其中的“VERSION”和“PATCHLEVEL”组成主版本号,比如 2.4、2.5、2.6等,稳定版本的德主版本号用偶数表示(比如2.6的内核),开发中的版本号用奇数表示(比如2.5),它是下一个稳定版本内核的前身。“SUBLEVEL”称为次版本号,它不分奇偶,顺序递增,每隔1~2个月发布一个稳定版本。“EXTRAVERSION”称为扩展版本号,它不分奇偶,顺序递增,每周发布几次扩展本版号。 1.2什么是标准内核 按照资料上的习惯说法,标准内核(或称基础内核)就是指主要在https://www.360docs.net/doc/2a13448784.html,/维护和获取的内核,实际上它也有平台属性的。这些linux

(完整版)操作系统毕业课程设计说明书-基于Linux的模拟文件系统的设计与实现

中北大学 操作系统课程设计 说明书 学院、系:软件学院 专业:软件工程 学生姓名:徐春花学号: 设计题目:基于Linux的模拟文件系统的设计与实现 起迄日 期: 2014年6月14日- 2014年6月26日指导教薛海丽

师: 2014 年 6月 26 日 前言 简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。这对Windows NT、Windows98、MS-DOS或OS2

等商品化操作系统来说是无法做到的。 Linux具有:稳定、可靠、安全的优点,并且有强大的网络功能。其中有对读、 写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。在相关软 件的支持下,可实现WWW、FTP、DNS、DHCP、E-mail等服务,还可作为路由器 使用,利用IPCHAINSIPTABLE网络治理工具可构建NAT及功能全面的防火墙。 Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系 统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑 器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形 用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系 统进行操作。 目录 1需求分析 (3) 1.1 功能介绍 (3) 1.2 目的及意义 (5) 1.2.1 目的 (5) 1.2.2 意义 (6) 1.3 设计成果 (7) 2总体设计 (8) 2.1功能介绍 (8) 2.2模块关联 (9) 3详细设计 (12)

LINUX实验报告

实验报告 ( 2014/ 2015 学年第一学期) 课程名称操作系统A 实验名称文件系统 实验时间2014 年12 月8 日指导单位计算机学院计算机科学与技术系 指导教师徐鹤 学生姓名王生荣班级学号B12040809 学院(系) 计算机学院专业软件工程

实验名称文件系统指导教师徐鹤 实验类型设计实验学时 2 实验时间2014.12.08 一、实验目的和要求 1. 学习LINUX系统下对文件进行操作的各种命令和图形化界面的使用方法。 2. 深入学习和掌握文件管理系统的基本原理和LINUX等操作系统下常用的系统调用,编写一个使用系统调用的例程。 3.实现一个文本文件的某信息的插入和删除 4.实现一个记录文件的某记录的插入和删除 二、实验环境(实验设备) Windows XP + VMWare + RedHat Linux 8

三、实验过程描述与结果分析 1. 目录/proc下与系统相关的文件和目录 (1) /proc/$pid/fd:这是一个目录,该进程($PID号码进程)每个打开的文件在该目录下有一个对应的文件。 例如:#ls /proc/851/fd 0 1 2 255 这表示,851号进程目前正在使用(已经打开的)文件有4个,它们的描述符分别是0、1、2、255。其中,0、1、2 依次分别是进程的标准输入、标准输出和标准错误输出设备。 (2)/proc/filesystems:该文件记录了可用的文件系统类型。 (3)/proc/mounts:该记录了当前被安装的文件系统信息 例如:#cat /proc/mount (4)/proc/$pid/maps:该文件记录了进程的映射内存区信息。 例如:#cat /proc/851/maps 2.常用命令讲解 ls 命令 用来查看用户有执行权限的任意目录中的文件列表,该命令有许多有趣的选项。例如: $ ls -liah * 22684 -rw-r--r-- 1 bluher users 952 Dec 28 18:43 .profile

linux网络编程课设报告

《Linux网络编程》 课程设计 班级: 姓名: 指导老师:

一、设计背景 Linux操作系统作为一个开源的操作系统被越来越多的人所应用,它的好处在于操作系统源代码的公开化!只要是基于GNU公约的软件你都可以任意使用并修改它的源代码。通过这次课程设计能更好的学习网络编程知识和掌握LINUX平台上应用程序设计开发的过程,将大学四年所学知识综合运用,为未来的工作学习打下基础。 二、设计目的 1、学习epoll 跟FTP被动模式 2、掌握linux基本命令,例如ls、cd、login; 3、学会如何编译、运行 三、环境要求 1、centos 64位操作系统 2、gcc编译器 四、设计原理 4.1客户端 客户端程序的主要任务有以下3个: (1)、分析用户输入的命令。 (2)、根据命令向服务器发出请求 (3)、接受服务器返回请求的结果 客户端为用户提供了3种命令:(1)、get:从服务器下载文件(2)、list:列出客户端当前目录的内容(3)、quit离开 4.2 服务器端 (1)、分析请求代码。 (2)、根据请求代码做相应的处理 (3)、等待返回结果或者应答信息

五、软件测试结果

六、部分主代码 #include "ftserve.h" int main(int argc, char *argv[]) { int sock_listen, sock_control, port, pid; if (argc != 2) { printf("usage: ./ftserve port\n"); exit(0); } port = atoi(argv[1]); // create socket if ((sock_listen = socket_create(port)) < 0 ) { perror("Error creating socket"); exit(1); } while(1) { // wait for client request

浙江大学Linux程序设计实验报告

Linux程序设计实验报告1 ——操作系统基本命令使用 一、实验目的 1.通过对Emacs、vi、vim、gedit文本编辑器的使用,掌握在Linux环境下文本文件的编辑方法; 2.通过对常用命令mkdir、cp、cd、ls、mv、chmod、rm等文件命令的操作,掌握Linux操作系统中文件命令的用法。 二、实验任务与要求 1.emacs的使用,要求能新建、编辑、保存一个文本文件 2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 3.gedit的使用,要求能新建、编辑、保存一个文本文件 4.掌握mkdir、cd命令的操作,要求能建立目录、进入与退出目录 5.掌握cp、ls、mv、chmod、rm命令的操作,要求能拷贝文件、新建文件、查看文件、文件重命名、删除文件等操作。 三、实验工具与准备 计算机PC机,Linux Redhat Fedora Core6操作系统 四、实验步骤与操作指导 任务1.学习emacs的使用,要求能新建、编辑、保存一个文本文件 (1)启动emacs (2)输入以下C程序 (3)保存文件为kk.c (4)用emacs打开文件kk.c (5)修改程序 (6)另存为文件aa.txt并退出。 任务2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 (1)点击”应用程序”→ “附件”→“终端”,打开终端,在终端输入命令: [root@localhost root]#vi kk.c 按i键,进入插入状态。 (2)输入以下C程序 #include int main( ) {

printf(“Hello world!\n”); return 0; } 此时可以用Backspace、→、←、↑、↓键编辑文本。 (3)保存文件为kk.c 按Esc键,进入最后行状态,在最后行状态输入:wq保存文件,退出vi。 (4)用vi打开文件kk.c,输入命令: [root@localhost root]#vi kk.c (5)修改程序为: #include int main( ) { printf(" Hello world!\n"); printf("*****************\n"); return 0; } (6)按Esc键,进入最后行状态,在最后行状态输入:wq aa.txt保存文件,如图1所示,另存为文件aa.txt并退出vi。。 图1 程序编辑环境 任务3.gedit的使用,要求能新建、编辑、保存一个文本文件 (1)启动gedit,点击”应用程序”→ “附件”→“文本编辑器”,打开文本编辑器,如图所示。

2011180021-Linux操作系统-课程设计报告-基于Linux的进程调度模拟程序

河南中医学院 《linux操作系统》课程设计报告 题目:基于Linux的进程调度模拟程序 所在院系:信息技术学院 专业年级:2011级计算机科学与技术完成学生:2011180021 郭姗 指导教师:阮晓龙 完成日期:201X 年06 月22 日 目录 1. 课程设计题目概述3 2. 研究内容与目的4 3. 研究方法5 4. 研究报告6 5. 测试报告/实验报告7 6. 课题研究结论8 7. 总结9

1、课程设计题目概述 随着Linux系统的逐渐推广,它被越来越多的计算机用户所了解和应用. Linux是一个多任务的操作系统,也就是说,在同一个时间内,可以有多个进程同时执行。如果读者对计算机硬件体系有一定了解的话,会知道我们大家常用的单CPU计算机实际上在一个时间片断内只能执行一条指令,那么Linux是如何实现多进程同时执行的呢?原来Linux使用了一种称为"进程调度(process scheduling)"的手段,首先,为每个进程指派一定的运行时间,这个时间通常很短,短到以毫秒为单位,然后依照某种规则,从众多进程中挑选一个投入运行,其他的进程暂时等待,当正在运行的那个进程时间耗尽,或执行完毕退出,或因某种原因暂停,Linux就会重新进行调度,挑选下一个进程投入运行。因为每个进程占用的时间片都很短,在我们使用者的角度来看,就好像多个进程同时运行一样了。本文就是对进程调度进行研究、实验的。 本文首先对Linux系统进行了简要的介绍, 然后介绍了进程管理的相关理论知识。其次,又介绍最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)、先来先服务算法的相关知识,并对进程调度进行最高优先数优先的调度算法和先来先服务算法模拟实验,并对比分析两种算法的优缺点,从而加深对进程概念和进程调度过程/算法的理解 设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择某一进程占用处理机。使得系统中的进程能够有条不紊的运行,同时提高处理机的利用率以及系统的性能。所以设计模拟进程调度算法(最高优先数优先的调度算法、先来先服务算法),以巩固和加深处理进程的概念,并且分析这两种算法的优缺点。关键词:linux 进程调度调度算法

Linux课程设计报告

《Linux课程设计》 设计题目:shell 编程实现用户信息管理专业:软件工程 指导教师:蔡照鹏王斌斌 班级: 学号: 姓名: 同组人: 计算机科学与工程学院

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux 内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯·托瓦兹。 Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX 和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux 继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

Linux课程设计

摘要 Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux 吸收了无数程序员的精华,不断壮大。 Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。 这次的课程设计为了熟悉以下内容Linux 基本网络命令,配置网络文件,建立个人账户,配置samba服务器,配置vsFTp服务器,shell编程。 关键词:Linux 基本网络命令配置网络文件建立个人账户配置samba服务器配置vsFTp服务器 shell编程

Linux课程设计 目录 1. 绪论 (1) 1. 1引言 (1) 2. 操作系统特性 (1) 2.1 linux的主要特性 (1) 2.2 UNIX的主要特点 (2) 3.系统设计 (3) 3.1设计的目的与意义 (3) 3.2课程设计的目标 (3) 3.3课程设计的要求 (3) 4 .课程设计的具体内容 (4) 4.1 基本网络命令及使用方法 (4) 4.2 telnet建立多账户测试 (8) 4.3 配置samba服务器,实现不同系统之间的文件共享 (10) 4.4 配置vsFTP服务器 (11) 4.5 简单shell编程 (14) 总结 (17) 参考文献 (18)

1.绪论 1. 1引言 Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux 版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯?托瓦兹。 Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX 和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 2. 操作系统特性 2.1 linux的主要特性 (1)基本思想 Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。 (2)发展领域 职业领域:系统应用类(网管\系统管理和维护人员\安全管理人员中低端行业领域)待遇属于中下。 系统开发类行业(JAVA软件开发\C语言软件开发\WEB开发\嵌入式软件开发)其中嵌入式软件开发是linux应用最广的领域待遇属于中等发展方向:UNIX往高端领域和产业发展,例如:AIX、HP-UX、Solaris 等等。 (3)完全免费 Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

linux_课程设计模板

辽宁工业大学linux 课程设计(论文) 题目:REDHAT LINUX 系统下搭建FTP 服务器 学院:软件学院 专业班级:软件工程125班 学号: 121301143 学生姓名:张白冰 指导教师:陈浩 教师职称:讲师 起止时间: 2012.12.1—2012.12.5

课程设计(论文)任务及评语

目录 第一章安装VSFTP套件 (1) 1.1首先查看我的Redhat5上是否已经安装 (1) 1.2 如果没有安装话,就要选择一种方式安装 (1) 1.3 VsFtp的配置文件 (3) 第二章配置FTP服务器 (4) 2.1最简单的vsfrpd.conf设定 (4) 2.2 配置好FTP服务器后,使用匿名用户及实体用户上传下载文件进行测试。 (5) 第三章总结 (9) 参考文献 (10)

第一章安装VSFTP套件 1.1首先查看我的Redhat5上是否已经安装 rpm -qa| grep vsftpd 如果已经安装就会出现vstfp的版本号相关的信息,如果没有出现就是没有安装1.2 如果没有安装话,就要选择一种方式安装 可以到官方网站去下载 https://www.360docs.net/doc/2a13448784.html, 也可以用光盘安装,RedHat 5的安盘里自带的,所以我选择光盘安装 (1)先把光盘挂载到系统上: mount /dev/cdrom /mnt 这样光盘的内容就被挂载到/mnt的设备上,现在可以通过/mnt访问光盘上的内容了 (2)在光盘上安装vsftp,并且启动vsftp rpm -ivh vsftpd* (3)修改启动方式,改为系统启动时,自动启动 chkconfig vsftpd on 也可以查看启动方式 chkconfig --list |grep vsftpd 只要在第2--5为on就能随机启动 (4)启动ftp service vsftpd start (5)连接测试 vsftp默认安装目录是:/etc/vsftpd 默认有一个ftp目录:var/ftp vsftp默认是用允许匿名用户【anonymous】登陆,允许下载,但是不允许上传 如果连不上,可能是linux 防火墙的原因 停止防火墙:service iptables stop 开启防火墙:service iptables start (1)从光盘中找到从光盘中找到从光盘中找到从光盘中找到 vsftp的的的的rpm 安装包安装包安装包安装包

Linux课程设计报告

《Linux课程设计》 设计题目: shell 编程实现用户信息管理专业:软件工程 指导教师:蔡照鹏王斌斌 班级: 学号: 姓名: 同组人: 计算机科学与工程学院

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux核。Linux可安装在各种计算机硬件设备中。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux核,但实际上人们已经习惯了用Linux来形容整个基于Linux核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯·托瓦兹。 Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet 网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的制约的、全世界都能自由使用的Unix兼容产品。

Linux课程设计

Linux课程设计---编写proc文件系统相关的内核模块 学号:20085229 姓名:杜森 班级:08级网络一班 指导教师:于群 日期:2011年6月29号

一、背景知识: 1、内核模块。 操作系统采用两种体系结构:微内核(Micro kernel),最常用的功能模块被设计成内核模式运行的一个或一组进程,而其它大部分不十分重要的功能模块都作为单独的进程在用户模式下运行!单内核(Monolithic kernel,有时也叫宏内核Macro kernel)!内核一般作为一个大进程的方式存在。该进程内部又可以被分为若干模块,在运行的时候,它是一个独立的二进制映象为了弥补单一体系结构的这一缺陷,Linux操作系统使用了模块机制。用户可以根据需要,在不需要对内核重新编译的情况下,模块可以动态地载入内核或从内核中移出!如图所示,模块可通过 insmod命令插入内核,也可以通过rmmod命令从内核中删除。 2、进程管理 Linux的每一个进程都有自己的属性,用一个task struct数据结构表示,即进程控制块Ⅲ(Process Concrol Block,PCB)。它对进程在其生命周期内涉及的所有事件进行全面的描述,主要有进程标识符(PID)、进程状态信息、进程调度信息、进程所占的内存区域、相关文件的文件描述符、处理器环境信息、信号处理、Linux操作系统内核分析与研究资源安排、同步处理等几个方面。在一个系统中,通常可拥有数百个甚至数千个进程,相应地就有很多进程控 制块。为了有效地对它们加以管理,应该用适当地方式将这些进程控制块组织起来。 进程控制块数据结构主要域定义如下: task_struct结构:在linux/sched.h中 struct task_struct{ volatile long state; //系统进程状态,一共有五种状态: //0 可运行态 //1 可中断的等待态 //2 不可中断的等待态 //3 僵死态

Linux文件系统实验报告

黄冈师学院 提高型实验报告 实验课题文件系统的设计与实现(实验类型:□综合性 设计性□应用性) 实验课程操作系统原理 实验时间2015-2016 第二学期 学生何正发 专业班级软件工程1401 学号07

成绩: 一、实验目的和要求 1、熟悉操作系统设计的过程,巩固操作系统的基本知识,加深对操作原理、功能及各种不同的存储管理方法理解与应用; 2、学会运用各种语言、软件开发新软件的基本方法; 3、增强实际应用能力和动手操作能力。 二、实验条件 Win7 /Windows 8.1/Linux等操作系统,装有java、C、C++、C#等语言工具的环境。 三、实验原理分析 可以选择最佳适应算法,按照从小到大的次序组成空闲区自由链,当用户作业或进程申请一个空闲区时,存储管理 程序从表头开始查找,当找到第一个満足要求的空闲区时,停止查找。如果该空闲区大于请求表中的请求长 度,将减去请求长度后的剩余空闲区部分留在可用表中。回收时,从作链中删去要回收的作业块,同时在空 闲链中插入该作业大小的空闲区,并按顺序排列 四、实验方案或步骤 1、应用环境、需求分析 本模拟系统主要针对文件的管理和操作名主要有:创建用户、文件、文件夹,读文件,写文件,执行文件,关闭文件,删除用户、文件夹、文件的功能。 创建用户、文件、文件夹:在对系统发出操作命令之前必须先登录用户,然而登录之前必须创建该用户。在创建完后,可通过登录用户来创建文件和文件夹。在创建文件时可设置文件的属性和输入文件的容。 读文件:读取任何已创建的只读或读写文件的容;如果所要读的文件不是可读文件时,系统会显示该文件不可读;如果所读文件不存在,系统会显示文件不存在。 写文件用户可写或重写读写文件中的容,并保存文件中的重写容,以供下次读取;当所要写的文件不是可写的文件时,系统会显示该文件不可写;当所要写的文件并不存在时,系统会显示该文件不存在。

Linux课程设计

目录 前言 (1) 正文 (2) 1设计背景 (2) 1.1设计的目的与意义 (2) 1.2课程设计的目标 (2) 1.3课程设计的要求 (2) 1.4课程设计的方案 (2) 2 网络命令 (3) 2.1 常用的网络命令 (3) 2.2 telnet建立多账户测试 (7) 2.3 smba服务器的配置 (9) 2.4 ftp服务器配置 (12) 2.5 shell编程 (15) 总结 (16) 参考文献 (17)

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux 版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中。Linux 是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux 操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯·托瓦兹。 Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX 和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 UNIX特点: (1)模块化程度高 (2)源码公开 (3)广泛的硬件支持 (4)安全性及可靠性好内核高效稳定 (5)具有优秀的开发工具

linux字符设备驱动课程设计报告

一、课程设计目的 Linux 系统的开源性使其在嵌入式系统的开发中得到了越来越广泛的应用,但其本身并没有对种类繁多的硬件设备都提供现成的驱动程序,特别是由于工程应用中的灵活性,其驱动程序更是难以统一,这时就需开发一套适合于自己产品的设备驱动。对用户而言,设备驱动程序隐藏了设备的具体细节,对各种不同设备提供了一致的接口,一般来说是把设备映射为一个特殊的设备文件,用户程序可以像对其它文件一样对此设备文件进行操作。 通过这次课程设计可以了解linux的模块机制,懂得如何加载模块和卸载模块,进一步熟悉模块的相关操作。加深对驱动程序定义和设计的了解,了解linux驱动的编写过程,提高自己的动手能力。 二、课程设计内容与要求 字符设备驱动程序 1、设计目的:掌握设备驱动程序的编写、编译和装载、卸载方法,了解设备文件的创建,并知道如何编写测试程序测试自己的驱动程序是否能够正常工作 2、设计要求: 1) 编写一个简单的字符设备驱动程序,该字符设备包括打开、读、写、I\O控制与释放五个基本操作。 2) 编写一个测试程序,测试字符设备驱动程序的正确性。 3) 要求在实验报告中列出Linux内核的版本与内核模块加载过程。 三、系统分析与设计 1、系统分析 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1、对设备初始化和释放; 2、把数据从内核传送到硬件和从硬件读取数据; 3、读取应用程序传送给设备文件的数据和回送应用程序请求的数据; 4、检测和处理设备出现的错误。 字符设备提供给应用程序的是一个流控制接口,主要包括op e n、clo s e(或r ele as e)、r e ad、w r i t e、i o c t l、p o l l和m m a p等。在系统中添加一个字符设备驱动程序,实际上就是给上述操作添加对应的代码。对于字符设备和块设备,L i n u x内核对这些操作进行了统一的抽象,把它们定义在结构体fi le_operations中。 2、系统设计: 、模块设计:

Linux设计报告

广西大学计算机与电子信息学院 课程设计报告 ( 2015——2016年度第一学期) 名称: UNIX程序设计课程设计 题目: UNIX程序设计课程设计 院系:计算机与电子信息学院 班级:计科132班 学号: 58 学生姓名:郭江达 指导教师:葛志辉 设计周数: 2周 成绩: 日期: 2015年 12月 27日

目录 1. 设计任务 (1) 2. 设计步骤 (1) 开发环境配置 (1) 开发工具 (2) 3. 程序开发步骤 (4) 4. 遇到的问题及相应解决办法 (12) 5. 个人体会及建议 (13) 参考文献 (13)

1. 设计任务 设计题目、任务及完成情况的大致说明,让老师能够了解你所做工作的大体情况。(每个人都要独立完成下面三个题目,不要相互抄袭!切记!) 1、完成Linux下的shell编程,要利用shell编程实现某一个具体的功能。 2、完成Linux下的C语言编程,要求至少包括两个文件,比如一个,,中包含了中的声明,分别利用gcc和makefile进行编译。 3、完成Linux下PHP+MySQL的编程,能够完成一个简单的具有数据库存储功能的网站。 2. 设计步骤 开发环境配置 Shell编程的开发环境 Shell编程的开发环境不需要什么配置,只需在Linux系统的终端进行即可。 C语言编程的开发环境 C语言在Linux系统下编程,需要dev安装包,用于编译C语言。 在终端下输入“sudo apt-get install libc6-dev”进行下载,在下载之前需要输入登录密码,之前已经下载好了,如下图所示:

下载好后,系统会自动安装,安装完成便可在终端编译C语言程序了。 Linux下PHP+MySQL编程的开发环境 这是在ubuntu上搭建LAMP,需要安装“php5”,“mysql”,“apache2”和“phpmyadmin”,如下图所示: 开发工具 VMware Workstation 12 虚拟机 VMware Workstation 12 虚拟机简介:著名的虚拟机软件。不需要分区或重开机就能在同一台PC上使用两种以上的操作系统,完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料,不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制贴上功能等。 安装方法: 1.下载虚拟机可执行文件点击运行,按照安装教程安装即可。 使用方法: 打开虚拟机,在“文件”菜单中选择“新建虚拟机”,然后弹出“新建虚拟机

linux编程实验报告

linux编程实验报告 篇一:Linux程序设计实验报告 《Linux程序设计》 实验报告 安徽工业大学计算机学院 XX年6月 1 实验一 Linux基本 命令的使用 1、实验目的 学习和掌握Linux的基本命令。 2、实验内容和步骤 步骤1:以user_login用户身份并使用telnet登录Linux服务器,按照提示创建自己的账户和口令。 步骤 2:使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。 步骤3:使用pwd命令察看当前的工作目录,然后用ls 命令查看当前目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。 步骤4:在当前目录下建立一个名为test的新目录,然后将工作目录切换到test下,尝试将/etc目录下的文件passwd拷贝到该目录下(cp 源文件目的目录)。察看当前目录下的passwd文件的属主和文件权限。

2 步骤5:尝试向当前目录下的passwd文件和/etc/passwd 文件分别写入一些新内容(可使用echo “字符串” >>文件的命令),看看操作能否成功,如果不能成功,请说明原因。用cat命令浏览文件password的内容,用more命令进行浏览翻页操作,再用less命令浏览文件的内容。比较这几个命令的不同之处 步骤6:用ls命令查看test下文件的权限,用mv命令更改文件password的文件名为test.txt,尝试用chown和chgrp更改文件的属主为root、组为root,看看能否成功,不成功,请说明原因。尝试用chomd将文件权限为“-rw-------”。看看能否成功,不成功,请说明原因。 3 步骤7:用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。(想一想有没有一条命令将目录及目录下的所有文件删除,写出这条命令) 步骤8:使用ps命令查看当前系统内的进程,并利用man命令获取ps命令的参数,写出获取当前终端进程执行情况的ps命令。 4 步骤9:使用df命令查看当前系统已安装的文件系统的空间使用情况,记录结果。

Linux课程设计报告书模版

Linux系统与程序设计课程设计报告书 报告人:

目录: 1、实验项目目的3 2、实验项目的功能及模块划分2 3、实验项目的人员组成及指责划分2 4、设计与实现3 4.1 系统结构3 4.2 客户端界面3 4.2.1 注册3 4.2.2 登录4 4.2.3 界面设计4 4.2.4查找好友4 4.3服务器的实现5 4.3.1 用户登录5

4.3.2用户管理5 4.3.3转发聊天消息5 4.4 文件操作6 4.5 通信模块的实现6 4.5.1 通信方式的选择6 5、测试与调试6 6、总结7 7、附录:程序代码9 1、实验目的 在Linux下利用java编程实现类似于QQ的通信功能。实现简单的qq功能:注册、登陆、查找好友、聊天功能服务端还需实现配置文件设置、用户管理、日志显示的功能。同时使用到相关的的文件操作以及java编程。通过这次实验来锻炼在Linux下的编程能力,主要是熟悉Linux的编程环境,相关命令的操作、java 软件的安装、以及对文件的操作,网络通讯等相关的方面东西。

2、实验项目的功能及模块划分 本实验是一个Linux下的网络即时通信工具,实现三人间的通讯。这个项目总共分为五个模块客户端,服务器,通讯,文件操作以及文档维护与测试。客户端的在分为登录、从服务器端获取在线人员并显示、选择联系人、向在线人员发送消息。实时显示别人发给你的消息。服务端主要是为客户端提供相关的信息服务,包括保存登录人员的IP信息、发送给客户端其他登录人员的IP、操作数据库等相关操作。基本上完成了注册、登陆、聊天功能总体来说可以分为几下几个模块:1)客户端与服务器的界面设计 2)客户端的通信部分 3)服务端的通信部分 4)文件操作 5)文档测试与维护 3、实验项目的人员组成及指责划分 xx:组长,系统分析、整体设计和模块划分 xx:通信模块设计和编码。 xx:客户端以及服务器界面设计和编码。 xx:文档维护和测试。 xx:文件操作的设计和编码。 4、设计与实现

Linux应用开发课程设计报告

Linux应用开发课程设计报告 项目名称贪吃蛇 学号: 姓名:张浩 专业:软件工程专业 班级:14软工软设1班 指导教师:郭俊颖 南阳理工学院软件学院 2016年12月

一需求分析 1.问题描述 ①蛇与食物出现的位置; ②蛇的游动; ③怎样实现蛇撞到自身会死; ④怎样判断蛇撞到墙; 2基本要求 实现蛇在不断吃到食物后分数增加,实现蛇的游动。 3.需实现的主要功能 ①蛇与食物不能出现在一起; ②蛇撞到自身以及墙都会死; ③蛇吃到事物后,长度增加同时分数增加一 ⑤随着分数的增加,关卡难度增加 4.设计实现方案 将蛇头的坐标以及蛇身的坐标都用二维数组表示出来,规定第一个下标为0则代表蛇头,为i则为蛇身,第二个下标为0代表横坐标,为1代表纵坐标,foodx代表食物横坐标,foody代表食物纵坐标,当蛇头坐标与事物坐标相等时则表示蛇吃到了事物,长度加一。方向变化为:当向上走时,横坐标不变,纵坐标减减;向下走时,横坐标不变,纵坐标加加;向左走时纵坐标不变,横坐标--;向右走时纵坐标不变,横坐标++。 2系统设计

分功能描述和设计流程图 当用户打开贪吃蛇时,进入主界面,主界面有开始及退出两个选项,当用户点击开始时,进入第二个界面(游戏界面),左侧为游戏界面,右上方显示分数与等级,当用户控制蛇吃到事物时分数会增加,当分数增加到5,15,20时,等级会提升。右下方为上下左右开始返回键,用户可以控制上下左右来操控蛇的游动方向,当用户点击开始时游戏则开始,当用户点击返回时,则退回到主界面。 。设计流程图如图2-1所示: 2-1 设计流程图 3系统实现 贪吃蛇的界面和代码

Linux课程设计

鲁东大学信息与电气工程学院2016 -2017 学年第 1 学期 《 Linux 应用技术 》课程设计 课程号: 2260020 任课教师 刘飞 成绩 一、主文本菜单 1.1 通过while 循环输出,输入q 退出循环。 1.2 通过case,选择选项,通过./xx.sh ,进入相应的shell 脚本。 代码如下: #!/bin/bash while true;do echo "主菜单" echo " 1.用户管理" echo " 2.磁盘管理" echo " 3.计算机" echo " 4.自动备份" echo " q.退出" read -p "选择操作:" c1 case $c1 in 1) ./yonghu.sh ;; 2) ./cipan.sh ;; 3) ./jisuanqi.sh ;; 4) ./beifen.sh ;;

q) exit ;; *) echo -e "\n输入错误,请重新输入!\n" ;; esac done 二、用户管理子菜单 2.1 输出passwd文件下的内容,通过cut,切割出用户名。 2.2 useradd添加账户,passwd添加密码。 2.3 输入用户名,通过grep,查看passwd下是否存在该用户,如果存在,删除此账户。 代码如下: #!/bin/bash while true;do echo "a.查看当前系统下所有用户的信息" echo "b.添加用户帐号" echo "c.删除用户账户" echo "q.退出" read -p "选择操作:" c2 case $c2 in a) cat /etc/passwd | cut -d ":" -f1 ;; b) read -p "输入用户名:" name useradd $name echo "输入密码" passwd $name ;; c) read -p "输入用户名:" name if [ "$name" = `cat /etc/passwd | cut -d ":" -f1 | grep $name` ];then userdel $name else echo "账户不存在" fi ;; q) exit ;; *) echo "输入错误,请重新输入!" ;; esac done 三、磁盘管理子菜单 3.1 df 查看硬盘分区情况。 3.2 dd新建一个文件,格式化,挂载在swap分区。 3.3 mkfs格式化分区。 3.4 du查看home文件夹下各个用户多占的空间,sort排序,head取出前10。代码如下: #!/bin/bash

相关文档
最新文档