目录前言 (2)正文 (3)1 课程设计的目的和意义 (3)2 目标与总体方案 (4)2.1课程设计的目标 (4)2.2课程设计的总体方案 (4)3 课程设计方法和内容 (4)3.1软硬件环境说明 (4)3.2常用网络操作命令 (5)3.3网络配置文件与配置方法 (8)3.4 TELNET 建立多帐户测试 (9)3.5配置NFS服务器,实现文件系统的远程挂载 (10)3.6配置SAMBA服务器 (13)4 SELL编程 (17)5 GCC简单使用 (21)6 FTP服务器配置 (24)致谢 (26)参考文献 (27)前言Linux是一套免费使用和自由传播的类 Unix操作系统,它主要用于基于 Intel x86系列 CPU的计算机上。
这个系统是由世界各地的成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的 Unix兼容产品。
Linux 的出现,最早开始于一位名叫 Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。
他的目的是想设计一个代替 Minix(是由一位名叫 Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,UNIX特点:(1)模块化程度高Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分;其独特的模块机制可根据用户的需要,实时地将某些模块插入或从内核中移走,使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要.(2)源码公开由于Linux系统的开发从一开始就与GNU项目紧密地结合起来,所以它的大多数组成部分都直接来自GNU项目。
任何人、任何组织只要遵守GPL条款,就可以自由使用Linux 源代码。
(3)广泛的硬件支持Linux能支持x86、ARM、MIPS、ALPHA和PowerPC等多种体系结构的微处理器。
(4)安全性及可靠性好内核高效稳定Linux内核的高效和稳定已在各个领域内得到了大量事实的验证。
Linux中大量网络管理、网络服务等方面的功能,可使用户很方便地建立高效稳定的防火墙、路由器、工作站、服务器等。
为提高安全性,它还提供了大量的网络管理软件、网络分析软件和网络安全软件等。
(5)具有优秀的开发工具开发嵌入式系统的关键是需要有一套完善的开发和调试工具。
传统的嵌入式开发调试工具是在线仿真器(In Circuit Emulator,ICE),它通过取代目标板的微处理器,给目标程序提供一个完整的仿真环境,从而使开发者能非常清楚地了解到程序在目标板上的工作状态,便于监视和调试程序。
在线仿真器的价格非常高,而且只适合做非常底层的调试。
如果使用的是嵌人式Linux,一旦软硬件能支持正常的串口功能,即使不用在线仿真器,也可以很好地进行开发和调试工作,从而节省了一笔不小的开发费用。
嵌入式Linux为开发者提供了一套完整的工具链(Tool Chain),能够很方便地实现从操作系统到应用软件各个级别的调试。
由于UNIX系统对各种数据库,特别是关系型数据库管理系统提供了强大的支持能力,因此主要的数据库厂家,包括Oracle,Informix,Sybase,Progress等都将UNIX作为优选的运行平台,而且创造出极高的性能价格比。
正文Linux操作系统是多用户、多任务的操作系统,具有强大的可移植性、良好地编程环境和强大的网络工程。
Linux操作系统是一个免费的操作系统,由于Linux是由Linus开发的,故以Linux’s UNIX命名,简称Linux。
Linux内核是Linux的主体,内核负责控制硬件设备、文件系统和程序任务调度等工作,但不包括用户程序。
因为Linux内核是免费的,用户与厂商可自行配置应用程序。
Linux作为一个现代的操作系统,正在各个方面得到广泛的应用。
Linux在服务器、嵌入式等方面已经取得不俗的成绩,在桌面系统方面,也逐渐受到欢迎。
于是Linux的安全问题也逐渐受到人们的重视。
现在Linux已经在全球广泛普及开来,虽然在个人桌面版方面还逊色于Microsoft Windows系统,但在服务器领域以其良好的安全性和稳定性得到越来越多用户的认可,并被广泛使用由于Linux操作系统可在多种操作系统上运行,支持多平台,所以得到了广泛应用。
1 课程设计的目的和意义(1)Linux操作系统具有较好的可移植性、良好地编程环境和强大的网络工。
程,作为计算机专业的学生,Linux是一门非常重要的必修课,(2)通过这课程设计能够全面了解Linux的基本命令和基本操作,而且通过上机操作提高自己的编程能力、程序调试能力和应用能力。
(3)本次Linux课程设计的目的就在于通过一次实践性的活动加深对这门课程的理解,使我们在感性的认识上进一步升华为理性的认识。
为后继课程的学习打下坚实的基础。
(4)通过这次课程设计能够检测自己在这门课程上学习的好坏,这是这次课程设计的意义所在。
2 目标与总体方案2.1课程设计的目标(1)熟悉基本的网络命令以及他们的使用方法,例如ping、ifconfig、netstat 等网络命令。
(2)熟悉网络配置文件的配置方法。
(3)体会Linux多用户的特点,利用telnet进行。
每个人建立个自己的帐户进行测试。
(4)配置NFS服务器,实现文件系统的远程挂载。
(5)配置samba服务器,实现不同系统之间的文件共享。
(6)简单shell编程。
(7)gcc的简单使用。
2.2课程设计的总体方案(1)查阅相关资料,结合课本知识,对实习所涉及的知识有所了解(2)上机操作,通过实践,增强自己的动手能力,提高自己的编程、调试能力,更深层的理解和掌握Linux知识(3)写课程设计相关文档,总结在课程设计中自己的不足和自己所收获的知识,使自己对Linux 的理解更加清晰和有条理。
3 课程设计方法和内容3.1 软硬件环境说明微型计算机:HP笔记本电脑- Ubuntu 10.10 操作系统中央处理器:intel Core双核主存容量: 2G硬盘容量: 518G3.2 常用网络操作命令(1)ping命令执行ping命令,他会使用ICMP传输协议发出要求的回应信息,若远程主机的网络没什么问题,就会回应信息,因而得知该主机运行正常。
标准用法:ping (选项)主机名称或IP地址-c次数设置完成要求回应的次数-d 使用Socket的SO-DEBG功能-f 大量且快速的送网络封包给一台机器。
-i 指定发送信息的时间间隔-r 忽略网关,直接将数据包发送的远程主机上。
-q 不显示命令的执行过程只显示结果-v 详细显示命令的执行过程包括非回应信息的其他信息-s bytes 设置数据包的大小ping 命令执行后如图2-3-a所示:图3-2-a ping命令(2)netstata命令netstat命令的主要功能是给出Linux系统的网络情况用法:netstata (选项)netstat 命令各选项的含义如下-a 全部列出,包括正在等待的程序-c 持续列出网络状态-i 显示网络界面信息-n 使用网络IP地址代替名称,显示网络的连接情况-o 显示计时器-r 显示网络路径表-t 显示TCP协议的连接情-u 显示UDP协议连接情况-V 显示版本信息netstat命令执行后如图3-2-b所示:图3-2-b netstat命令(3)ifconfig命令ifconfig命令使LINUX核心知道软件回送和网卡这样一些网络接口,这样Linux就可以使用它们。
除了上面介绍的这些用法之外,ifconfig命令用来监控和改变网络接口的状态,并且还可以带上很多命令行参数。
下面是一个ifconfig的通用调用执行ifconfig命令可以查看本地主机的网络配置信息,也可以用于配置网络硬件接口、IP地址、网络掩码、网关地址和广播地址等。
命令格式:ifconfig[interface]ifconfig interface [aftype] options | address …ifconfig命令执行后如图2-3-2-d所示:图3-2-c ifconfig命令3.3 网络配置文件与配置方法(1)/etc/hosts文件/etc/hosts也称为主机表,他的作用是为用户提供简单、直接的主机名到IP地址之间的转换。
用户在访问网络上某台主机时可以直接使用IP地址也可以使用主机名称,但使用主机名称时必须将它翻译成计算机能识别的IP地址,利用/etc/hosts文件可以实现1种比较简单的名字解析方法:用户也可使用域名服务器来完成主机名称到IP地址的转换。
(2)/etc/sysconfig/network-scripts/网络接口配置文件和启动脚本位于/etc/sysconfig/network-scripts/目录下。
网络接口配置文件的格式为ifcfg-ethN, N;表示第几块网卡,N是从0开始的数字。
例如第一块网卡是ifcfg-eth0,第二块网卡是ifcfg-eth1以此类推。
配置结果如图3-2-d所示:图 3-2-d 配置结果3.4 telnet 建立多帐户测试Linux开启telnet服务,linux提供服务是由运行在后台的守护程序来执行。
守护进程的工作就是打开1个端口(port),等待(listen)进入的连接。
在C/S模式中,如果客户提请了1个连接,守护进程就创建(fork)子进程来响应这个链接,而父进程继续监听其他服务的请求。
步骤如图3-4-a、3-4-b、3-4-c所示3-4-a telnet 服务器的启动3-4-b 开启xinetd3-4-c 建立用户组3-4-d telnet建立多帐户测试3.5 配置NFS服务器,实现文件系统的远程挂载(1) 建立需要挂载文件夹,输入redhat-config-nfs命令启动redhat-config-nfsRPM 软件包,如图3-5-a3-5-a 启动redhat_config-nfsRPM软件包(2)添加NFS共享过程,如图3-5-b、3-5-c、3-5-d图3-5-b图3-5-c图3-5-d(3)启动nfs服务,如图3-5-e图3-5-e 启动nfs服务(4)输入命令 vi /etc/exports 控制NFS服务器要导出的目录,如图3-5-f图3-5-f 查看导出目录(5)使用mount 命令来挂载机器上的NFS文件系统,如图3-5-g图3-5-g 挂载NFS文件系统(6)验证挂载是否成功如图 3-5-h、3-5-i1、在被挂在的文件夹下建立2.txt文件图 3-5-h2、在挂载的目录下可以看到文件 2.txt图 3-5-i3、卸载挂载的NFS文件系统,如图3-5-j图3-5-j 卸载NFS文件系统3.6 配置samba服务器(1)输入redhat-config-samba命令启动redhat-config-samba PRM软件包,如图3-5-a图3-5-a 启动redhat-config-samba PRM软件包(2)启动sam服务,如图3-5-b图3-5-b 启动sam服务器(3)配置服务器设置,如图3-5-c、3-5-d图3-5-c图 3-5-d(4) 添加共享,如图3-5-e、3-5-f图3-5-e图3-5-f (5)管理Samba用户,如图3-5-g、3-5-h图3-5-g图3-5-h(6)在windows xp系统中查看samb共享文件夹,如图3-5-i图3-5-i 查看共享文件夹(7)将windows文件共享给Liunx系统,如图3-5-j、3-5-k、3-5-l、3-5-m、3-5-n、3-5-p图3-5-j图3-5-l图3-5-m图3-5-n图3-5-p4 shell编程1、写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作:如果是目录,则列出该目录中的文件;如果是可执行的文件,则用shell执行之;如果是可读的文件,则分屏显示其内容。