linux课设说明书.docx
《linux课设说明书.docx》由会员分享,可在线阅读,更多相关《linux课设说明书.docx(23页珍藏版)》请在冰豆网上搜索。
linux课设说明书
2017届课程设计
《Linux基础》
课程设计说明书
学生姓名杨静
学号5011213318
所属学院信息工程学院
专业计算机科学与技术
班级计算机17-3
指导教师王冬
教师职称讲师
塔里木大学教务处制
目录
目录1
1.引言2
2.操作系统特性2
2.1.Linux的主要特性2
3.课程设计的目的和意义以及内容和要求3
3.1课程设计的目的和意义3
3.2课程设计的内容3
3.3课程设计的要求4
3.4软硬件环境说明4
4.课程设计的具体内容4
4.1熟悉基本的网络命令以及他们的使用方法5
4.2熟悉网络配置文件的配置方法9
4.3telnet配置(每个人建立个自己的帐户进行测试)12
4.4配置samba服务器,实现不同系统之间的文件共享13
4.5配置vsFTP服务器15
4.6shell编程17
个人总结19
参考文献20
1.引言
LINUX的发展历史源于一种特定的程序开发模式——开放源代码模式。
LINUX未来发展的最大空间在于应用程序领域。
由于其开放式会进一步推动LINUX应用程序开发的增长。
所以随着技术的不断进步,由于它的性价比比较高,愈来愈多的电脑用户选择了LINUX,全世界估计有两千多万的用户,而且数量再不断的增加。
所以它的发展潜力是相当巨大的。
作为新科技的推动者的当代大学生,不论从那个方面讲,都应该熟练的掌握它的操作。
Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。
Linux可安装在各种计算机硬件设备中。
Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
Linux得名于天才程序员林纳斯·托瓦兹。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
它主要用于基于Intelx86系列CPU的计算机上。
这个系统是由全世界各地的成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
2.操作系统特性
2.1.Linux的主要特性
1.多用户
2.多任务
3.移植性
4.开放性
5.稳定性
6.安全性
7.设备独立性
8.强大的网络功能
2.2Unix的主要特点
(1)模块化程度高
(2)源码公开
(3)广泛的硬件支持
(4)安全性及可靠性好内核高效稳定
(5)具有优秀的开发工具
3.课程设计的目的和意义以及内容和要求
3.1课程设计的目的和意义
《Linux》课程设计是在完成理论课程学习之后安排的综合实践训练,通过一周的综合课程设计,在学生掌握Linux的基本知识及常用的操作命令基础上,提高学生对所学知识的应用能力,特别是:
煅炼学生搜集有关Linux资料,在资料文档的帮助下,运用Linux的基本知识及常用的操作命令来解决问题的能力,最后完成课设论文。
(1)通过这课程设计能够全面了解Linux的基本命令和基本操作,而且通过上机操作提高自己的编程能力、程序调试能力和应用能力。
(2)本次Linux课程设计的目的就在于通过一次实践性的活动加深对这门课程的理解,使我们在感性的认识上进一步升华为理性的认识,为后继课程的学习打下坚实的基础。
(3)通过这次课程设计能够检测自己在这门课程上学习的好坏,这是这次课程设计的意义所在。
3.2课程设计的内容
(1)熟悉基本的网络命令以及他们的使用方法,例如ping、ifconfig、netstat等网络命令。
(2)熟悉网络配置文件的配置方法。
(3)体会Linux多用户的特点,利用telnet进行测试。
(4)配置vsFTP服务器,实现局域网的文件传输。
(5)简单shell编程并撰写课程设计论文
3.3课程设计的要求
通过一周的综合课程设计,要求能完成给定的任务,并写出相应的课程设计总结报告
(1)根据合理的进度安排,按照程序的流程及方法,踏实地开展课程设计活动;
(2)课程设计过程中,在设计各环节中撰写相关的技术文档,最后要求提交详细的课程设计报告;
(3)配置网络服务器,通过上机测试
3.4软硬件环境说明
Cpu相关信息
内存容量
4.课程设计的具体内容
4.1熟悉基本的网络命令以及他们的使用方法
(1)ping命令
功能说明:
检测主机。
语 法:
ping[-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
标准用法:
ping(-选项)主机名称或IP地址
补充说明:
执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
参 数:
-d使用Socket的SO_DEBUG功能。
-c<完成次数>设置完成要求回应的次数。
-f极限检测。
-i<间隔秒数>指定收发信息的间隔时间。
-I<网络界面>使用指定的网络界面送出数据包。
-l<前置载入>设置在送出要求信息之前,先行发出的数据包。
-n只输出数值。
-p<范本样式>设置填满数据包的范本样式。
-q不显示指令执行过程,开头和结尾的相关信息除外。
-r忽略普通的RoutingTable,直接将数据包送到远端主机上。
-R记录路由过程。
-s<数据包大小>设置数据包的大小。
-t<存活数值>设置存活数值TTL的大小。
-v详细显示指令的执行过程。
(2)ifconfig命令
语法:
ifconfig[网络设备][downup-allmulti-arp-promisc][add<地址>][del<地址>][<硬件地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>]
补充说明:
ifconfig可设置网络设备的状态,或是显示当前的设置。
参数:
[网络设备]网络设备的名称。
Down关闭指定的网络设备。
up启动指定的网络设备。
-arp打开或关闭指定接口上使用的ARP协议。
前面加上一个负号用于关闭该选项。
-allmuti关闭或启动指定接口的无区别模式。
前面加上一个负号用于关闭该选项。
-promisc关闭或启动指定网络设备的promiscuous模式。
前面加上一个负号用于关闭该选项。
Add<地址>设置网络设备IPv6的IP地址。
Del<地址>删除网络设备IPv6的IP地址。
Media<网络媒介类型>设置网络设备的媒介类型。
mem_start<内存地址>设置网络设备在主内存所占用的起始地址。
Metric<数目>指定在计算数据包的转送次数时,所要加上的数目。
Mtu<字节>设置网络设备的MTU。
Netmask<子网掩码>设置网络设备的子网掩码。
Tunnel<地址>建立IPv4与IPv6之间的隧道通信地址。
-broadcast<地址>将要送往指定地址的数据包当成广播数据包来处理。
-pointopoint<地址>与指定地址的网络设备建立直接连线,此模式具有保密功能。
现在解释一下输出信息的含义:
eth0:
网络接口
linkencap:
网络类型
HWaddr:
网卡物理地址
Inetaddr:
IP地址
Bcast:
广播地址
Mask:
子网掩码
UP:
正在使用的网络接口
RXpackets,TXpackets接收和传输的数据包个数
RXbyte,TXbyte表示接搜和传输的具体数目
Interrupt:
终端信息
Baseaddress:
内存地址
netstat命令
功能说明:
显示网络状态。
语 法:
netstat[-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
补充说明:
利用netstat指令可让你得知整个Linux系统的网络情况。
参 数:
-a或--all显示所有连线中的Socket。
-A<网络类型>或--<网络类型>列出该网络类型连线中的相关地址。
-c或--continuous持续列出网络状态。
-C或--cache显示路由器配置的快取信息。
-e或--extend显示网络其他相关信息。
-F或--fib显示FIB。
-g或--groups显示多重广播功能群组组员名单。
-h或--help在线帮助。
-i或--interfaces显示网络界面信息表单。
-l或--listening显示监控中的服务器的Socket。
-M或--masquerade显示伪装的网络连线。
-n或--numeric直接使用IP地址,而不通过域名服务器。
-N或--netlink或--symbolic显示网络硬件外围设备的符号连接名称。
-o或--timers显示计时器。
-p或--programs显示正在使用Socket的程序识别码和程序名称。
-r或--route显示RoutingTable。
-s或--statistice显示网络工作信息统计表。
-t或--tcp显示TCP传输协议的连线状况。
-u或--udp显示UDP传输协议的连线状况。
-v或--verbose显示指令执行过程。
-V或--version显示版本信息。
-w或--raw显示RAW传输协议的连线状况。
-x或--unix此参数的效果和指定"-Aunix"参数相同。
--ip或--inet此参数的效果和指定"-Ainet"参数相同。
4.2熟悉网络配置文件的配置方法
在Linux系统中,TCP/IP网络的运行必须使用许多配置文件,了解这些文件的内容对系统管理员来说是必需的,因为当能够对这些文件进行设置的命令或程序发生问题时,就必须手工进行配置文件修改和维护工作。
从另一角度讲,通过这些文件的修改也可达到配置网络的目的。
激活网络服务器:
激活网络服务器
激活网络服务器
激活网络服务器
(1)/etc/hosts文件
/etc/hosts文件是早期实现静态域名解析的一种方法,该文件的中存储IP地址和主机名的静态的映射关系。
用于本地解析,是dns的前身。
利用该文件进行名称解析的时候,系统会直接读取该文件的IP地址和主机对应的记录。
/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)/etc/resolv.conf文件
/etc/resolv.conf是域名服务器定义文件,它记录了本机使用的主、第二、第三DNS服务器的IP地址和域名搜索路径。
Linux系统为了提高可靠性,控制一个域的域名服务器往往不止一个。
同样,每个主机为了提高可靠性,也设置多个域名服务器的IP地址;系统将按照用户指定的顺序逐个查询直到找到为止。
3.体会Linux多用户的特点,利用telnet进行。
每个人建立个自己的帐户进行测试。
(4)etc/sysconfig/network文件
该文件用来指定服务器上的网络配置信息,包含了控制和网络有关的文件和守护程序的行为的参数。
主要参数包括:
NETWORKING=yes/no 表示网络是否被启用
HOSTNAME=localhost 定义本主机的主机名
GATEWAY=gw-ip 定义网关的IP地址
网络配置文件的过程如下图4.2-2-a至4.2-2-d所示:
网络文件的配置
:
网络文件的配置
网络文件的配置
网络文件的配置
4.3telnet配置(每个人建立个自己的帐户进行测试)
Linux开启telnet服务,linux提供服务是由运行在后台的守护程序来执行。
守护进程的工作就是打开1个端口(port),等待(listen)进入的连接。
在C/S模式中,如果客户提请了1个连接,守护进程就创建(fork)子进程来响应这个链接,而父进程继续监听其他服务的请求。
如图4.3-1-a至图4.3-1-c所示
telnet配置
telnet配置
telnet配置
4.4配置samba服务器,实现不同系统之间的文件共享
实现不同系统之间的文件共享,步骤如图4.3-1-a至图4.3-1-c所示:
文件共享
文件共享
文件共享
4.5配置vsFTP服务器
(1)vsFTP配置参数
vsFTP配置参数
vsFTP配置参数
vsFTP配置参数
vsFTP配置参数
vsFTP配置参数
(2)重启配置vsFTp
重启配置vsFTP
(3)查询配置的vsftp
查询配置的vsftp
4.6shell编程
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。
它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。
不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。
Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
例如:
计算从1到用户输入数字的和。
(1+2+3+…n)
个人总结
在此次课程设计中,我不但运用了Linux的知识,还利用了以前所学各方面的知识,这对于我来说是一个突破。
从中我也学习到了许多知识,它有助于增强我的自信心,帮助我提高编写程序的能力,也使我懂得:
光靠课堂和书本是难以真正掌握数据结构的。
衡量学习好坏的标准不是懂不懂,而是会不会干。
所以,理论与实践结合,是我们能够更好掌握知识的最直接的手段。
当然,在实践过程中,我们会遇到大大小小各种不同的问题,通过独立去思考,勤学好问,不断尝试,不断改正,我们一定会成功的。
课程设计可以检验我们掌握知识的多少,同时培养我们动手操作的能力,是我们学好计算机语言的必需。
对于我们更是对我们知识的考查和拔高。
这一周虽然有点辛苦,但是我却收获了许多,得到了许多。
理论是实践的基础,实践是检验理论的标准。
通过查阅大量的linux相关资料,历经一个星期的努力拼搏,我成功地完成了linux的课设,同时也对平时的知识进行了查漏补缺。
参考文献
[1]DavidTansley著.徐炎译.Linux与UNIXShell编程指南.北京:
机械工业出版社,2000.6
[2]刘兵著.Linux实用教程[M].北京:
中国水利水电出版社,2004.7
[3]朱居正、高冰著.RedHatLinux9实用培训教程.北京:
清华大学出版社,2004.7
[4]张炯著.Unix网络编程实用技术与实例分析.北京:
清华大学出版社,2002.11
[5]顾云苏著.Linux服务器配置与优化.北京:
清华大学出版社,2001.9