Linux课程设计

更新时间:2024-04-08 19:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

前 言 .............................................................................................................. 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实验室的Ken Thompson开始利用一台闲置的PDP-7计算机开发了一种多用户,多任务操作系统【1】。很快Unix从实验室走出来并成为了操作系统的主流,现在几乎每个主要的计算机厂商都有其自有版本的Unix。

正文

Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和

【2】

数据库的操作系统。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT

【3】

一样,允许我们使用窗口、图标和菜单对系统进行操作。 1 实习的目的和意义

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

【4】

系统之间的文件共享,简单shell编程是本次实习操作的主要内容。 1.1 掌握熟悉基本的网络命令

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

第 1 页 共 16页

塔里木大学信息工程学院结课大作业

1.2掌握网络配置文件和配置方法 1.3shell编程

1.编写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作:如果是目录,则列出该目录中的文件;如果是可执行的文件,则用shell执行之;如果是可读的文件,则分屏显示其内容。

2.编写一个弹出式菜单的shell程序并实现其简单的菜单功能: ************************************************ * MENU * * 1.copy 2.rename * * 3.remove 4.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-Core CPU E5400 @2.7GHZ 2.7GHz 内存:2GB 硬盘:500G。

软件:RedHat Linux9.0。 3.2常用网络操作命令

1.ipconfig:检验网卡的TCP/IP设置情况

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

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

命令格式:

Ifconfig[interface]

Ifconfig interface [aftype] options | address ? ipconfig命令执行后如图3-2-1所示:

第 2 页 共 16页

塔里木大学信息工程学院结课大作业

图3.2.1 ipconfig命令的使用

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

使用方法:ping Dest_IP 参数

常用参数解释: -t 连续向目标主机发送数据(按Ctrl+c中断); -n 指定发包个数,缺省值为4;

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

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

命令格式:

Ping[ -LRUbdfnqrvVaAB] [ -c count] [ -I interval] [-l preload] [ -p pattern]

[ -s packetsize] [ -t ttl] [ -w deadline] [ -F flowlabel] [ -I interface]

[ -M hint] [ -Q tos] [ -S sndbuf] [ -T timestamp option] [ -W timeout]

[ hop?] destination

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

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

第 3 页 共 16页

塔里木大学信息工程学院结课大作业

图3.2.2 ping命令的使用

3、netstat:显示当前计算机中正在活动的网络连接信息和状态,如活动的TCP

【7】

连接、计算机侦听的端口、以太网统计信息、IP路由表等。

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

执行netstat命令来检测TCP/IP网络配置的正确性。netstat命令执行后如图3-3-3所示:

图3.3.3 netstat命令的使用

3.3telnet 建立多帐户测试

Linux开启telnet服务,linux提供服务是由运行在后台的守护程序(daemon)来执行。守护进程的工作就是打开1个端口(port),等待(listen)进入的连接。在C/S模式中,如果客户提请了1个连接,守护进程就创建(fork)子进程来响应这个链接,而父进程继续监听其他服务的请求。

但是,对于系统所提供的每一个服务,如果都必须运行一个监听某个端口接连发生的守护进程序,那么通常以为着系统资源的浪费。为此,“拓展的网络守护进程服务程序”xinetd(xineted internt daemon).telnet服务也是由xinetd守护的。telnet命令执行后如图3-3-4所示:

第 4 页 共 16页

塔里木大学信息工程学院结课大作业

图3.3.4 telnet建立多帐户测试

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开始的数字。例

第 5 页 共 16页

塔里木大学信息工程学院结课大作业

如:第一块物理网卡的第一个虚拟网卡是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和off Nospoof:取值为on或者off。

第 6 页 共 16页

塔里木大学信息工程学院结课大作业

6、/etc/services

3.5 配置NFS服务器

1、使用mount命令来挂载另一个机器上的NFS文件系统:Mount shadowman. example.com:/misc/export/misc/local

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

3.5.1 NFS服务器配置

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

3.5.2 NFS共享

第 7 页 共 16页

塔里木大学信息工程学院结课大作业

3.5.3 NFS共享

3.5.4 NFS共享

4、启动服务器

使用以下命令来启动NFS进程:cd/tmp ;mkdir liuzhenzhen ; ervice nfs restart

3.5.5 NFS服务器配置

第 8 页 共 16页

塔里木大学信息工程学院结课大作业

3.6配置samba服务器

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

【9】

命令。如下 图所示:

3.6.1 samba服务器配置

3.6.2 samba服务器配置

第 9 页 共 16页

塔里木大学信息工程学院结课大作业

3.6.3samba服务器配置

2、启动服务器

使用以下命令来查看NFS守护进程的状态:/sbin/service smb status 使用以下命令来启动NFS守护进程:/sbin/service smb start 3.7 shell编程

1、编写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作:如果是目录,则列出该目录中的文件;如果是可执行的文件,则用shell执行之;

【10】

如果是可读的文件,则分屏显示其内容。

图3.7.1shell脚本程序源码

第 10 页 共 16页

塔里木大学信息工程学院结课大作业

图3.7.2shell脚本程序结果

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

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

* MENU * * 1.copy 2.rename * * 5.exit *

* 3.remove 4.find * ************************************************

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

第 11 页 共 16页

塔里木大学信息工程学院结课大作业

图3.7.3弹出式菜单源码

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

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

第 12 页 共 16页

塔里木大学信息工程学院结课大作业

图3.7.5 小九九乘法表代码图

图3.7.6 小九九乘法结果图

4、C编程:分别用递归的方法求阶乘。

第 13 页 共 16页

塔里木大学信息工程学院结课大作业

图3.7.7 求阶乘的代码图

图3.7.8 求阶乘的效果图

第 14 页 共 16页

塔里木大学信息工程学院结课大作业

总结

此次课程设计总体情况良好,基本达到了该项目的所有要求,完成了实践教学的目的。在安装和配置各个服务器时,出现过不少问题,但都通过问老师,同学或从网上查找资料最后这些问题都已经解决。通过这次实训我学到了很多知识,对以后的学习和工作有很大帮助。在此衷心地对老师表示感谢要熟练掌握Linux操作系统的用法就必须动手实践,而课程实习就是实践的开始,课程实习也是对我们综合能力的考察。Linux模块是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能独立运行,但是可以装载到系统中作为内核的一部分运行,从而可以动态扩充内核的功能。Linux提供了内核模块这种功能强大的扩展方式,它不仅弥补了单内核的一些不足,而且对性能没有影响。通过内核模块机制,可以方便的进行内核开发和驱动开发,而事实上Linux中大多数驱动和文件系统都是已内核模块方式实现的。在内核模块机制下,可以随时在需要的情况下加载新的内核模块,而不需要重新编译内核和引导系统。 当内核被加载到系统中时,他就成为内核源代码的一部分,与其他内核代码地位完全相同。模块自身并不是独立的进程,它可以认为就是核心态运行。同样,既然内核模块和内核其他部分地位一样,这就导致在开发式必须谨慎,因为可能一个小错误就会导致整个系统崩溃。深刻理解Linux内核模块编程,利用好Linux内核模块的优势,无论是进行Linux学习还是内核模块开发都是十分有益的

参考文献:

[1] David Tansley著. 徐炎译.Linux与UNIXShell编程指南. 北京:机械工业出版社,2000.6

[2] 刘兵著.Linux实用教程[M].北京:中国水利水电出版社,2004.7

[3] 朱居正、高冰著. Red Hat Linux 9实用培训教程. 北京:清华大学出版社,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.

第 15 页 共 16页

塔里木大学信息工程学院结课大作业

总结

此次课程设计总体情况良好,基本达到了该项目的所有要求,完成了实践教学的目的。在安装和配置各个服务器时,出现过不少问题,但都通过问老师,同学或从网上查找资料最后这些问题都已经解决。通过这次实训我学到了很多知识,对以后的学习和工作有很大帮助。在此衷心地对老师表示感谢要熟练掌握Linux操作系统的用法就必须动手实践,而课程实习就是实践的开始,课程实习也是对我们综合能力的考察。Linux模块是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能独立运行,但是可以装载到系统中作为内核的一部分运行,从而可以动态扩充内核的功能。Linux提供了内核模块这种功能强大的扩展方式,它不仅弥补了单内核的一些不足,而且对性能没有影响。通过内核模块机制,可以方便的进行内核开发和驱动开发,而事实上Linux中大多数驱动和文件系统都是已内核模块方式实现的。在内核模块机制下,可以随时在需要的情况下加载新的内核模块,而不需要重新编译内核和引导系统。 当内核被加载到系统中时,他就成为内核源代码的一部分,与其他内核代码地位完全相同。模块自身并不是独立的进程,它可以认为就是核心态运行。同样,既然内核模块和内核其他部分地位一样,这就导致在开发式必须谨慎,因为可能一个小错误就会导致整个系统崩溃。深刻理解Linux内核模块编程,利用好Linux内核模块的优势,无论是进行Linux学习还是内核模块开发都是十分有益的

参考文献:

[1] David Tansley著. 徐炎译.Linux与UNIXShell编程指南. 北京:机械工业出版社,2000.6

[2] 刘兵著.Linux实用教程[M].北京:中国水利水电出版社,2004.7

[3] 朱居正、高冰著. Red Hat Linux 9实用培训教程. 北京:清华大学出版社,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.

第 15 页 共 16页

本文来源:https://www.bwwdw.com/article/v9gr.html

Top