收藏 分销(赏)

Linux课程设计 说明书.doc

上传人:pc****0 文档编号:7594545 上传时间:2025-01-10 格式:DOC 页数:20 大小:670.88KB
下载 相关 举报
Linux课程设计 说明书.doc_第1页
第1页 / 共20页
Linux课程设计 说明书.doc_第2页
第2页 / 共20页
Linux课程设计 说明书.doc_第3页
第3页 / 共20页
Linux课程设计 说明书.doc_第4页
第4页 / 共20页
Linux课程设计 说明书.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、塔里木大学摘要Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。通过课程设计,结合实际的操作和设计,巩固课堂教学内容,使我们掌握嵌入式Linux系统开发的基本概念、原理和技术,将理论与实际相结合,应用现有的硬件和软件条件完成一个完整的嵌入式系统的设计与实现,把理论课与实验课所学内容综合为一,并在此基础上强化我们的实践意识、提高其实际动手能力和创新能力,从而为后续课程的学习,毕业设计环节以及将来的实际工作打好坚实的基础。在本次课程设计中,我们将熟悉基本的挂载命令,基本的配置文件与配置方法,学会Vsftp服务器的安装与配置,实现文件系

2、统的远程挂载,配置samba服务器,实现不同系统之间的文件共享,简单shell script编程等。关键字:开放源码 Linux系统 服务器 前言Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯托瓦兹。L

3、inux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86

4、系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。目录摘要1前言21.设计的背景11.1 操作系统的基本特征11.2 Linux 操作系统的特点21.3 Unix系统的主要特点22.设计方案32.1 设计的意义和目的32.2 方案论述33. 软硬件环境说明34. 网络服务器的配置44.1常用的网络命令44.2 熟悉网络配置文件的配置方法84.3 telnet建立多账户测试84.4 Samba服务器的配置104.5 配置vsFTP服务器115. shell script 编程145.1 s

5、hell script的简单介绍145.2 shell script的简单编程14个人总结参考文献1.设计的背景1.1操作系统的基本特征操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。其基本特性有以下四点:(1)并发性(Concurrence) 并行性和并发性是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系

6、统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。 (2)共享性(Sharing) 在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式也不同(3)虚拟性(Virtual) 操作系统中的所谓虚拟,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的,而后者是虚的,是用户感觉上的东西。用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、虚拟外部设备和虚拟信道等。 (4)异步性 在多道程序环境下,允许多个进程并发执行

7、, 但只有进程在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个进程执行,其余进程只能等待。当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其它某进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该进程时,该进程方能继续执行。1.2 Linux 操作系统的特点Linux操作系统在短时间内得到迅猛的发展,这与该操作系统良好的特性是分不开的。Linux包含了UNIX操作系统的全部功能和特性。简单地说,Linux具有UNIX的所有特性并且具有自己独特的魅力,主要表现在以下几个方面:

8、 1开放性、2多用户 、3多任务 、4友好的用户界面、5设备独立性、6丰富的网络功能 、7可靠的安全性 、8良好的可移植性 、9 X Window系统 、10 内存保护模式 。这些特点使得Linux系统在嵌入式开发和开源代码编写方面占据了有利的优势。1.3 Unix系统的主要特点UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,其主要特点如下:1. UNIX系统是一个可供多用户同时操作的会话式分时操作系统,不同的用户可以在不同的终端上,通过会话方式控制系统操作。系统继承子以往操作系统的先进技术,又在总体设计思想上有所创新。

9、2. UNIX系统在结构上分为内核和核外程序两部分。内核部分就是一般所说的UNIX操作系统.能够从内核中分享出来的部分,则以核外程序形式存在并在用户环境下运行,内核向核外程序提供了充分而强大的支持,而核外程序灵活地运用了内核的支持。 3. UNIX系统向用户提供了两种界面,一种是用户使用命令,通过终端与系统进行交互的界面,即用户界面;另一种是用于用户程序与系统的接口,即系统调用。系统采用树型结构的文件系统,它由基本文件系统和可装下的若干个子文件系统组成,它既能扩大文件存储空间,具有良好的安全性,保密性和可维护性。4. UNIX系统提供了丰富的核外系统程序,其中包括丰富的语言处理程序,系统实用程

10、序和开发软件的工具,这些程序为用户提供了相当完备的程序设计环境。系统能在笔记本计算,PC机,工作站,中小型机及至巨型机上运行的操作系统,因此,UNIX系统具有极强的可伸缩性。2.设计方案2.1 设计的意义和目的 Linux操作系统具有较好的可移植性、良好地编程环境和强大的网络工程,作为计算机专业的学生,Linux是一门非常重要的必修课。 通过这课程设计能够全面了解Linux的基本命令和基本操作,而且通过上机操作提高自己的编程能力、程序调试能力和应用能力。 Linux课程设计的目的就在于通过一次实践性的活动加深对这门课程的理解,使我们在感性的认识上进一步升华为理性的认识。为后继课程的学习打下坚实

11、的基础。2.2 方案论述在虚拟机中运行Linux操作系统,完成课程设计内容。首先要熟悉基本的网络命令以及他们的使用方法,例如ping、ifconfig、netstat等网络命令。同时,熟悉网络配置文件的配置方法。其次,体会Linux多用户的特点,并利用telnet进行测试。学会在Linux系统中配置VSFTP服务器,并且能够实现局域网的文件传输。还有学会配置samba服务器,并且能够实现不同系统之间的文件共享。最后,学会编写简单shell程序。3. 软硬件环境说明根据此次课程设计的内容,做出以下准备:装有VMware虚拟机软件的pc机一台。VMware虚拟机软件,是全球桌面到数据中心虚拟化解决

12、方案的领导厂商。全球不同规模的客户依靠VMware来降低成本和运营费用、确保业务持续性、加强安全性并走向绿色。 本次课程设计就是通过此虚拟机软件,将Linux操作系统装于此软件进行操作,在安装之前通过手动设置硬件参数如下:20G磁盘、1G内存、单核处理器、虚拟CDROM、NAT网络适配器4. 网络服务器的配置4.1常用的网络命令(1)ping命令 功能说明:检测主机。语法:ping -dfnqrRv -c -i -I -l -p -s -t 主机名称或IP地址标准用法:ping(-选项) 主机名称或IP地址补充说明:执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功

13、能没有问题,就会回应该信息,因而得知该主机运作正常。参数: -d 使用Socket的SO_DEBUG功能。 -c 设置完成要求回应的次数。 -f 极限检测。 -i 指定收发信息的间隔时间。 -I 使用指定的网络界面送出数据包。 -l 设置在送出要求信息之前,先行发出的数据包。 -n 只输出数值。 -p 设置填满数据包的范本样式。 -q 不显示指令执行过程,开头和结尾的相关信息除外。 -r 忽略普通的Routing Table,直接将数据包送到远端主机上。 -R 记录路由过程。 -s 设置数据包的大小。 -t 设置存活数值TTL的大小。 -v 详细显示指令的执行过程。如下图: 图4.1 (a)

14、IP地址的简单设置 图 (b)(2)ifconfig命令语法:ifconfig 网络设备 down up -allmulti -arp -promisc add del media mem_start metric mtu netmask tunnel -broadcast -pointopoint 补充说明:ifconfig可设置网络设备的状态,或是显示当前的设置。参数:网络设备 网络设备的名称。Down 关闭指定的网络设备。up 启动指定的网络设备。-arp 打开或关闭指定接口上使用的ARP协议。前面加上一个负号用于关闭该选项。-allmuti 关闭或启动指定接口的无区别模式。前面加上一个

15、负号用于关闭该选项。-promisc 关闭或启动指定网络设备promiscuous模式。加上一个负号用于关闭该选项。Add 设置网络设备IPv6的IP地址。Del 删除网络设备IPv6的IP地址。Media 设置网络设备的媒介类型。mem_start 设置网络设备在主内存所占用的起始地址。Metric 指定在计算数据包的转送次数时,所要加上的数目。Mtu 设置网络设备的MTU。Netmask 设置网络设备的子网掩码。Tunnel 建立IPv4与IPv6之间的隧道通信地址。-broadcast 将要送往指定地址的数据包当成广播数据包来处理。-pointopoint 与指定地址的网络设备建立直接连

16、线,此模式具有保密功能。 图4.1(2)现在解释一下输出信息的含义: eth0:网络接口 link encap:网络类型 HWaddr:网卡物理地址 UP:正在使用的网络接口 Inet addr :IP地址 Interrupt:终端信息 Bcast:广播地址 Base address:内存地址 RX byte,TX byte表示接搜和传输的具体数目 RX packets,TX packets接收和传输的数据包个数(3) netstat命令功能说明:显示网络状态。语法:netstat -acCeFghilMnNoprstuvVwx-A-ip补充说明:利用netstat指令可让你得知整个Linux

17、系统的网络情况。参数: -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地址,而不通过域名服

18、务器。 -N或-netlink或-symbolic 显示网络硬件外围设备的符号连接名称。 -o或-timers 显示计时器。 -p或-programs 显示正在使用Socket的程序识别码和程序名称。 -r或-route 显示Routing Table。 -s或-statistice 显示网络工作信息统计表。 -t或-tcp 显示TCP传输协议的连线状况。 -u或-udp 显示UDP传输协议的连线状况。 -v或-verbose 显示指令执行过程。 -V或-version 显示版本信息。 -w或-raw 显示RAW传输协议的连线状况。 -x或-unix 此参数的效果和指定-A unix参数相同。

19、 -ip或-inet 此参数的效果和指定-A inet参数相同。如下图所示:图4.1(3)4.2 熟悉网络配置文件的配置方法一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置。首先以根用户登录系统,然后使用lspci | grep Ethernet命令检查计算机上的以太网卡设备是否被内核检测到。在默认的情况下,只有root也就是根用户才有权限进行网络配置。然后使用“ifconfig”命令查看系统已经识别并已激活的网络接口。如果没有找到可以用“ifconfig -a”命令找到所有已识别包括未激活的网络接口,然后使用”ifconfig 网卡名 up“激活。就对这块网卡进行设置使

20、它能够发挥作用。在命令行输入“ifconfig 网卡名 IP地址 netmask 子网掩码”就可以临时指定网卡的IP地址,但重启后失效。永久改变IP地址用“vi /etc/sysconfig/network-scripts/ifcfg-eth0”编辑网卡eth0的配置文件。如果设置的是dhcp自动获取IP地址,那么IPADDR、NETMASK和GATWAY都可以不写。使用“service network restart”命令重新启动network服务,使配置文件生效。四个状态都必须是OK,否则说明设置有问题,需要重新修改设置。最后再次使用“ifconfig”命令查看网卡参数, IP地址修改成功

21、,并且会一直保留。4.3 telnet建立多账户测试功能说明:远端登入。语法:telnet -8acdEfFKLrx-b-e-k-l-n-S-X主机名称或IP地址补充说明:执行telnet指令开启终端机阶段作业,并登入远端主机。参数: -8 允许使用8位字符资料,包括输入与输出。 -a 尝试自动登入远端系统。 -b 使用别名指定远端主机名称。 -c 不读取用户专属目录里的.telnetrc文件。 -d 启动排错模式。 -e 设置脱离字符。 -E 滤除脱离字符。 -f 此参数的效果和指定-F参数相同。 -F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。 -k

22、 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名. -K 不自动登入远端主机。 -l 指定要登入远端主机的用户名称。 -L 允许输出8位字符资料。 -n 指定文件记录相关信息。 -r 使用类似rlogin指令的用户界面。 -S 设置telnet连线所需的IP TOS信息。 -x 假设主机有支持数据加密的功能,就使用它。 -X 关闭指定的认证形态。如下图测试: 图4.3 telnet建立多账户测试4.4 Samba服务器的配置Samba是一整套的UNIX程序(包括Linux),它可以理解SMB,即Server Message Block协议。Windows系列和OS/2操作系统

23、都是使用SMB协议来在不同的计算机之间相互通信的。通过在UNIX上安装Samba,就使得UNIX可以同Windows系列计算机之间相互通信,并可以使UNIX机器模拟成Windows机器。这样,安装了Samba的Linux机器就可以模拟Window NT的功能,它并能提供几乎全部的Windows NT功能。如下图所示:(1) 服务器配置 图 (1)(2)创建账户和共享目录 图 (2)(3)指定用户和添加共享 图(3)(4) 测试共享和选择服务器 图(4)(5) 输入口令和测试 图 (5)4.5 配置vsFTP服务器一、安装。命令:yum install vsftpd二、启动、关闭、重启:serv

24、ice vsftpd start/stop/restart.注:-查看vsftpd 启动状态rootsingledb # chkconfig -list vsftpdvsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:offrootsingledb # chkconfig vsftpd onrootsingledb # chkconfig -list vsftpdvsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 这里看到,默认情况下从2到5设置为on了。2到5是多用户级别。 这个对应的是linux不同的运行级别。我们

25、也可以加level 选项来指定:rootsingledb # chkconfig -level 0 vsftpd on rootsingledb # chkconfig -list vsftpd vsftpd 0:on 1:off 2:on 3:on 4:on 5:on 6:off我们看到0已经设置为on了。传统的init 定义了7个运行级(run level),每一个级别都代表系统应该补充运行的某些特定服务: (1)0级是完全关闭系统的级别 (2)1级或者S级代表单用户模式 (3)2-5 级 是多用户级别 (4)6级 是 重新引导的级别三、配置。1.配置文件:位置 /etc/vsftpd/;

26、vsftpd.conf:主配置文件;ftpusers: 指定哪些用户不能访问FTP服务器;user_list: 指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。其中vsftpd.conf 文件设置如下参数:(1)ftpd_banner=welcome to ftp service :设置连接服务器后的欢迎信息(2)idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)(3)data_connection_timeout=120 :设置客户机进行数据传输时,设置

27、空闲的数据中断时间(4)accept_timeout=60 设置在多长时间后自动建立连接(5)connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;(6)max_clients=200 指明服务器总的客户并发连接数为200(7)max_per_ip=3 指明每个客户机的最大连接数为3(8)local_max_rate=50000(50kbytes/sec) 本地用户最大传输速率限制(9)anon_max_rate=30000匿名用户的最大传输速率限制(10)pasv_min_port=端口(11)pasv-max-prot=端口号 定义最大与最小端口,为

28、0表示任意端口;(12)listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;(13)listen_port=端口号 设置FTP工作的端口号,默认的为21(14)chroot_local_user=YES 设置所有的本地用户可以chroot(15)chroot_local_user=NO 设置指定用户能够chroot(16)chroot_list_enable=YES(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的用户才能执行 )(18)local_root

29、=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;(19)chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;(20)chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;(21)userlist_enable=YES/NO 是否加载用户列表文件;(22)userlist_deny=YES 表示上面所加载的用户是否允

30、许拒绝登录;(23)userlist_file=/etc/vsftpd/user_list 列表文件如图下图所示:(1)vsFTP配置参数图(a)图(b)图(c)图(d)(2)重启配置vsFTp并查询 图 (2)5. shell script 编程5.1 shell script的简单介绍Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编

31、程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。5.2 shell script的简单编程5.2.1用shell编程实现拷贝功能在根目录下有四个文件 m1.txt,m2.txt,m3.txt,m4.txt,用 Shell 编程,实现自动 创建 m1,m2,m3,m4 四个目录,并将 m1.txt,m2.txt,m3.txt,m4.txt 四个文件分别拷贝到各自相应的目录下。 图 5.2.15.22 用shell编程求和计算从1到用户输入数字的和。(1+2+3+n)。图 5.2.25.2.3编写一个 Shell 程序,实现如下

32、功能:(1). 当运行一个程序的时候,这个程序会让使用者选择 Y 或 N ;(2)如果使用者输入 Y 或 y 时,就显示 OK, continue (3)如果使用者输入 n 或 N 时,就显示 Oh, interrupt !(4)如果不是 Y/y/N/n 之内的其他字节,就显示 I dont know what your choice is (利用中括号、 & 与 | 来实现)图5.2.3个人总结时间稍众即逝,为期一周的课程设计转眼间就结束了,通过本次课程设计,让我们更好的认识和了解Linux操作系统。首先从开始对Linux一无所知,到做完课设后有了一定程度的了解,从而进一步熟悉Linux这个

33、操作系统以及在Linux下的编程。通过此次设计,我们可以熟练的掌握基本的网络命令、网络配置文件及其配置方法以及服务器的简单配置,亲身体会到了Linux的多用户的特点。通过实验我认识到了系统调用的实现,系统信息和状态的读取,通过学习,学会了在 Linux环境下进行简单的编程,也让我从中学到了不少Linux的知识。本次课程设计,加深了我们对理论知识的理解,也锻炼了我们的实践能力,更多的是在实践中收获了太多的感触和心得,虽然课程设计已经结束,可我们明白“学无止境”的道理,我们会继续刻苦钻研,求实创新,不断地用知识来充实自己。在本次设计中,我们也有很多不足之处,还有许多Linux的知识没有涉及到,只是

34、有点印象 理解不太深。通过本次课程设计,我们对于Linux有了进一步的了解,很多在课本上自己认为已经掌握的知识点,但是在课程设计过程中却会存在很多小问题,这就考验我们的总体把握与知识点的融会贯通,通过本次的课程设计,让我知道了自己还有很多知识点是没有掌握的,很多知识点就算掌握了书本上的,也还不会活用。希望的今后的课设和实验中多练习,实践是检验真理的唯一途径,实践也是进步的重要途径之一。最后,感谢老师的帮助和指导。通过本次课程设计,让我们懂得了在扎实基础的前提下,我们更要多动手,多锻炼,敢于去尝试,敢于去实践。参考文献1 David Tansley著. 徐炎译.Linux与UNIX Shell编程指南. 北京:机械工业出版社2 刘兵著Linux实用教程M.北京:中国水利水电出版社,2004.73 朱居正、高冰著. Red Hat Linux 9实用培训教程. 北京:清华大学出版社,2004.74 张炯著.Unix网络编程实用技术与实例分析北京:清华大学出版社,2002.115 顾云苏著Linux 服务器配置与优化北京:清华大学出版社,2001917

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服