Linux课程设计.docx

上传人:b****5 文档编号:6609654 上传时间:2023-01-08 格式:DOCX 页数:17 大小:862.34KB
下载 相关 举报
Linux课程设计.docx_第1页
第1页 / 共17页
Linux课程设计.docx_第2页
第2页 / 共17页
Linux课程设计.docx_第3页
第3页 / 共17页
Linux课程设计.docx_第4页
第4页 / 共17页
Linux课程设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Linux课程设计.docx

《Linux课程设计.docx》由会员分享,可在线阅读,更多相关《Linux课程设计.docx(17页珍藏版)》请在冰豆网上搜索。

Linux课程设计.docx

Linux课程设计

目录

前言1

正文1

1实习的目的和意义1

3实习方法和内容2

3.1实习软硬件环境说明2

3.3telnet建立多帐户测试4

3.4网络配置文件与配置方法5

3.5配置NFS服务器7

3.6配置samba服务器9

总结15

参考文献:

15

前言

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。

Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

虽然它是由学生的业余爱好发展而来,但是现在它已经成为最为流行的免费操作系统。

Linux稳定而富有竞争力。

许多大学与研究机构都使用Linux完成他们的日常计算任务。

人们在家用PC上使用Linux,许多公司也在使用它。

Linux主要用来浏览WEB,管理WEB站点,撰写与发送EMAIL,以及玩游戏。

Linux绝对不是玩具而是具有专业水平的操作系统,它的爱好者遍及世界。

Linux的源头要追溯到最古老的UNIX。

1969年,Bell实验室的KenThompson开始利用一台闲置的PDP-7计算机开发了一种多用户,多任务操作系统【1】。

很快Unix从实验室走出来并成为了操作系统的主流,现在几乎每个主要的计算机厂商都有其自有版本的Unix。

 

正文

Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统【2】。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

它能运行主要的UNIX工具软件、应用程序和网络协议。

它支持32位和64位硬件。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

它主要用于基于Intelx86系列CPU的计算机上。

这个系统是由全世界各地的成千上万的程序员设计和实现的。

其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。

Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。

Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。

它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用WindowsNT一样,允许我们使用窗口、图标和菜单对系统进行操作【3】。

1实习的目的和意义

熟悉基本的网络命令,pingi、ifconfing、netstat以及熟悉网络配置文件与配置方法,体会Linux多用户的特点利用telnet进行要求每个同学都有相应的帐户,配置NFS服务器,实现文件系统的远程挂载。

配置samba服务器,实现不同系统之间的文件共享,简单shell编程是本次实习操作的主要内容【4】。

1.1掌握熟悉基本的网络命令

如:

ping、ifconfig、netstat等,每位同学在同一台主机上建立自己的帐户,利用telnet体会Linux多用户的特点,配置telnet远程登录服务【5】。

1.2掌握网络配置文件和配置方法

1.3shell编程

1.编写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作:

如果是目录,则列出该目录中的文件;如果是可执行的文件,则用shell执行之;如果是可读的文件,则分屏显示其内容。

2.编写一个弹出式菜单的shell程序并实现其简单的菜单功能:

************************************************

*MENU*

*1.copy2.rename*

*3.remove4.find*

*5.exit*

************************************************

即用户按下数字1,则提示用户输入源和目的文件名后执行复制;输入数字2,则提示用户输入要更名的文件或目录名后执行更名操作;输入数字3和4分别执行删除和查找操作;输入数字5,则退出该菜单shell程序的执行【6】。

3.编写一个小九九乘法表

2实习目标与总体方案

2.1熟悉基本网络命令

在同一台主机上建立自己的帐户,利用telnet体会Linux多用户的特点。

熟悉基本的网络命令,如:

ping、ifconfig、netstat等。

2.2配置NFS服务器以及配置samba服务器

配置NFS服务器,实现文件系统的远程挂载。

配置samba服务器,实现不同系统之间的文件共享

2.3使用shell编程

使用shell编写两个程序。

第一个可以显示一个菜单,程序根据用户选择的项目进行操作,有文件拷贝、文件删除、文件重命名等。

第二个打印一个小九九乘法表。

3实习方法和内容

3.1实习软硬件环境说明

硬件:

一台联想计算机,其配置为:

CPU:

Pentium(R)Dual-CoreCPUE5400@2.7GHZ2.7GHz内存:

2GB硬盘:

500G。

软件:

RedHatLinux9.0。

3.2常用网络操作命令

1.ipconfig:

检验网卡的TCP/IP设置情况

当使用IPConfig时不带任何参数选项,那么它显示每个NIC的IP地址、子网掩码和缺省网关值。

ipconfig/all当使用all选项时,IPConfig还会显示网卡中的物理地址(MAC)及主机名等信息。

命令格式:

Ifconfig[interface]

Ifconfiginterface[aftype]options|address…

ipconfig命令执行后如图3-2-1所示:

图3.2.1ipconfig命令的使用

2.ping:

检查两台计算机之间的网络是否连通

使用方法:

pingDest_IP参数

常用参数解释:

-t连续向目标主机发送数据(按Ctrl+c中断);

-n指定发包个数,缺省值为4;

-l指定发包大小,缺省值为32字节;

Ping命令使用ICMP协议,向目标地址发送ECHO-REQUEST数据包,如果网络是连通的,可以接收到目标地址主机发回的响应ECHO-REQUEST的数据包;否则表示目标地址不可到达。

命令格式:

Ping[-LRUbdfnqrvVaAB][-ccount][-Iinterval][-lpreload][-ppattern]

[-spacketsize][-tttl][-wdeadline][-Fflowlabel][-Iinterface]

[-Mhint][-Qtos][-Ssndbuf][-Ttimestampoption][-Wtimeout]

[hop…]destination

其中,参数destination是必须的,它可以是主机名或IP地址;其他的为命令选项。

ping命令执行后如图3.2.2所示:

图3.2.2ping命令的使用

3、netstat:

显示当前计算机中正在活动的网络连接信息和状态,如活动的TCP连接、计算机侦听的端口、以太网统计信息、IP路由表等【7】。

  语  法:

netstat[-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

执行netstat命令来检测TCP/IP网络配置的正确性。

netstat命令执行后如图3-3-3所示:

图3.3.3netstat命令的使用

3.3telnet建立多帐户测试

Linux开启telnet服务,linux提供服务是由运行在后台的守护程序(daemon)来执行。

守护进程的工作就是打开1个端口(port),等待(listen)进入的连接。

在C/S模式中,如果客户提请了1个连接,守护进程就创建(fork)子进程来响应这个链接,而父进程继续监听其他服务的请求。

但是,对于系统所提供的每一个服务,如果都必须运行一个监听某个端口接连发生的守护进程序,那么通常以为着系统资源的浪费。

为此,“拓展的网络守护进程服务程序”xinetd(xinetedinterntdaemon).telnet服务也是由xinetd守护的。

telnet命令执行后如图3-3-4所示:

图3.3.4telnet建立多帐户测试

3.4网络配置文件与配置方法

1、/etc/sysconfig/network

/etc/sysconfig/network文件主要用于设置基本的网络配置,包括主机名称,网关等。

文件中的内容如下:

Networking:

用于设置linux网络是否允许,取值是yes或者是no。

Hostname:

用于设置主机名称。

Gateway:

用于设置网关的IP地址。

sysconfig/network文件

2、/etc/sysconfig/network-scripts/ifcfg-ethN

网卡设备名,IP地址、子网掩码、网关等配置信息都保存在网卡配置文件中。

一块网卡对于一个配置文件,配置文件通常位于/etc/sysconfig/network-scripts/目录下。

文件名是ifcfg-ethN,N;表示第几块网卡,N是从0开始的数字。

例如第一块网卡是ifcfg-eth0,第二块网卡是ifcfg-eth1以此类推。

Linux系统支持在一块物理网卡上绑定多个IP地址。

需要建立多个网卡配置文件,其文件名的形式如:

ifcfg-ethN:

M,其中N,M均是从0开始的数字。

例如:

第一块物理网卡的第一个虚拟网卡是ifcfg-eth0:

0。

所有的网卡Ip配置文件都有如下类型的格式,具体如下:

上述配置文件中各项具体的含义如下所述:

Device:

表示当前网卡设备的设备名称

Bootproto:

获取IP地址的方式,取值为static、bootp和dhcp。

Broadcast:

广播地址。

Hwaddr:

改网络设备的mac地址。

Ipaddr:

该网络设备的IP地址。

Netmask:

该设备的子网掩码。

Network:

该设备所处的网络的网络地址。

Gateway:

网卡的网关地址。

Onboot:

设置系统启动的时候是否启动该设备。

3、/etc/hosts

/etc/hosts文件是早期实现静态域名解析的一种方法,该文件的中存储IP地址和主机名的静态的映射关系。

用于本地解析,是dns的前身。

利用该文件进行名称解析的时候,系统会直接读取该文件的IP地址和主机对应的记录【8】。

etc/hosts文件

4、/etc/resolv.conf

/etc/resolv.conf文件是dns客户端用于指定系统所用的dns服务器的IP地址,在该文件中除了可以指定dns服务器后,还可以设置当前主机所在域以及dns搜索的路径等。

该文件的默认的内容是:

Nameserver:

设置dns服务器的IP地址。

Search:

设置dns的搜索路径,即不在进行完全域名解析的时候,默认的附加域名后缀。

Domain:

设置计算机的本地域名。

5、/etc/host.conf/etc/host.conf文件用来指定如何进行域名解析。

该文件的内容通常有如下几行:

Order:

设置主机名解析的可用方法及其顺序。

可用的方法有hosts(利用/etc/hosts文件进行解析),bind(利用dns服务器解析),nis(利用网络信息服务器进行解析)

Multi:

设置是否从/etc/hosts文件中返回主机的多个IP地址,取值为on和offNospoof:

取值为on或者off。

6、/etc/services

3.5配置NFS服务器

1、使用mount命令来挂载另一个机器上的NFS文件系统:

Mountshadowman.:

/misc/export/misc/local

2、导出NFS文件系统,要使用NFS服务器配置工具,首先选择面板上的“主菜单”→“系统配置”→“服务器配置”→“NFS服务器”命令,或输入redhat-config-nfs命令。

显示如图3.5.1所示:

3.5.1NFS服务器配置

3、要添加NFS共享,单击“添加”按钮,会出现如下图所示的对话框。

3.5.2NFS共享

3.5.3NFS共享

3.5.4NFS共享

4、启动服务器

使用以下命令来启动NFS进程:

cd/tmp;mkdirliuzhenzhen;ervicenfsrestart

3.5.5NFS服务器配置

3.6配置samba服务器

1、要使用该程序,要从桌面启动Samba服务器配置工具,选择面板上的“主菜单”→“系统配置”→“服务器配置”→“Samba服务器”命令,或输入redhat-config-nfs命令【9】。

如下

图所示:

3.6.1samba服务器配置

3.6.2samba服务器配置

3.6.3samba服务器配置

2、启动服务器

使用以下命令来查看NFS守护进程的状态:

/sbin/servicesmbstatus

使用以下命令来启动NFS守护进程:

/sbin/servicesmbstart

3.7shell编程

1、编写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作:

如果是目录,则列出该目录中的文件;如果是可执行的文件,则用shell执行之;如果是可读的文件,则分屏显示其内容【10】。

图3.7.1shell脚本程序源码

图3.7.2shell脚本程序结果

2.编写一个弹出式菜单的shell程序并实现其简单的菜单功能:

************************************************

*MENU*

*1.copy2.rename*

*3.remove4.find*

*5.exit*

************************************************

即用户按下数字1,则提示用户输入源和目的文件名后执行复制;输入数字2,则提示用户输入要更名的文件或目录名后执行更名操作;输入数字3和4分别执行删除和查找操作;输入数字5,则退出该菜单shell程序的执行【11】。

图3.7.3弹出式菜单源码

图3.7.4弹出式菜单运行结果图

3.编写一个小九九乘法表

图3.7.5小九九乘法表代码图

图3.7.6小九九乘法结果图

4、C编程:

分别用递归的方法求阶乘。

图3.7.7求阶乘的代码图

图3.7.8求阶乘的效果图

总结

此次课程设计总体情况良好,基本达到了该项目的所有要求,完成了实践教学的目的。

在安装和配置各个服务器时,出现过不少问题,但都通过问老师,同学或从网上查找资料最后这些问题都已经解决。

通过这次实训我学到了很多知识,对以后的学习和工作有很大帮助。

在此衷心地对老师表示感谢要熟练掌握Linux操作系统的用法就必须动手实践,而课程实习就是实践的开始,课程实习也是对我们综合能力的考察。

Linux模块是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能独立运行,但是可以装载到系统中作为内核的一部分运行,从而可以动态扩充内核的功能。

Linux提供了内核模块这种功能强大的扩展方式,它不仅弥补了单内核的一些不足,而且对性能没有影响。

通过内核模块机制,可以方便的进行内核开发和驱动开发,而事实上Linux中大多数驱动和文件系统都是已内核模块方式实现的。

在内核模块机制下,可以随时在需要的情况下加载新的内核模块,而不需要重新编译内核和引导系统。

当内核被加载到系统中时,他就成为内核源代码的一部分,与其他内核代码地位完全相同。

模块自身并不是独立的进程,它可以认为就是核心态运行。

同样,既然内核模块和内核其他部分地位一样,这就导致在开发式必须谨慎,因为可能一个小错误就会导致整个系统崩溃。

深刻理解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[6]李波.Linux服务器配置与实战指南.北京:

人民邮电出版社,2004:

209-211.

[7]Shell脚本学习指南/美罗宾著机械工业出版社。

2009.4.1

[8]罗文村,汤庸.Linux实践及应用[M].北京:

清华大学出版社,2OO6.

[9]谢蓉,巢爱棠.Linux基础及应用.北京:

中国铁道出版社,2005.

[10]刘胤杰,岳浩.Linux操作系统教程[M].北京:

机械工业出版社,2005.

[11]王波.Linux网络技术[M].北京:

机械工业出版社,2OO7.

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1