《linux下程序设计之shell编程.doc》由会员分享,可在线阅读,更多相关《linux下程序设计之shell编程.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 考查课程报告课程名称: Linux程序设计 之 shell编程 学 院: 信息工程与自动化学院 专业年级: 学 号: 学生姓名: 指导教师: 梁 波 日 期: 2013-6-5 0:0,邮:.术令 谡) 建 究比台实教 和 社学华北 用践 ,罗 - 0 版邮京南战与器 . 版学科西教系 元 - 0出学京.置务 冯 0 0版邮:.战与务 李. 0 出大册手理 .文考习的效,习学提能料查题问老多收来验试住定习以悦来带成受时,验习会们的果是绝留程这,的到得试也东多到们中问这题解料题问问的学,学的认态真要定获的有才付,之功到我。的次成,下的老,是。友到体也的前也的。的务利顺没指师,灯暗就师师学助帮真
2、作的了体,的最是果,不得序的乱一助情老同最着十,态屡屡程。常是序际个我识学书利但很内,我习点户用 体身的 以置件配、令本掌熟们,此是但是不令有而,许免,操 触察的合对是始开是验践须必统作 握掌然内的操试编 享共之统现务 配载的件,务 配帐相同每行 利户多 体法配置网悉 命网基中点特的又,和功的 包乎 分是的 与发迅常得几短统操 。今发能 ,私者 数的布有 着并人越 络人越,发 码程的统作的内 用可用而,方作其时性高 保它改简 对系的内 承并自 系关极泛广 准 计 系作 、 发诞它作 是确系 。 者业于得 统作据具各工 且, 个形 惯已人但内 表个 来。作 都机级0快算界系作先 计和、计式台控和
3、由电、从,硬计各安 用们, 多着前统作 0 . / 的放由种 识 于到我的自中次,序 习期体结结运. ! . 0 ) ( + = . /: / : / : 0 写编 文 .目此,数 值分在序序 写备自程写 用如如码下果运表法现程写程 / / 夹文原, 生夹文 录主的前 / . / / / 置置权列看查读为写有为限件,文 动 . 文生文文模 . 出存! 写 . 文夹 夹创,目用作 户的统所录在看,户密确入 密, 张位号加首姓户登码输 态 据户系. . 址络的 . / / 件文 况分 . 息统 . 程程当屏后 文添重容下,信看 用可,安如系连 使或打系 果及作使的 如如 - 或令务 配“”系主上面
4、,配服 面,序用务 置 进 来令务务启.对的图现钮加“, 加 令命 输或器 “”务置系单菜的选首具务 用,件 / . 统 器一来 使.务 配止为到查顺指用按址 器名多,可了为每。个往务域 ,可了统 索名地的服 、的本文 . /. 和 可关。信后,键个包行文信配库向含此。名行如算告作的置解 . 文 /换转地到主来服用可:方名单种现可 /址 识算译它必机使,主用也 接可机上网户用的地 主直简提为用表为 /文文 方置文配测帐建 示示后命 。 由服 ) 序服程络拓此费的系为通序护生接端某一必都务每供统求的他监续父,个响) 建创进连 提果式 。的入 等) 端开是工程行来 (守在由务提 务 开试户立 使令
5、 示图行命 。的配网 检命 类网 - :况接连的机验一数的议 于 明命命 使令命 示图行命 式格。播和网掩网地口件置用也息络机地令命 址地是号为个 告分 - 。须参,地 们解名用使地 主接指分 :接是 中 法语通 一下行令很还并状络改控用 之用的上。们可 这口网卡送软知 命 命 .项选的其 名主可, 参使命示示执 达到址标则据的 应回主地收可的连如, 送址向议 令命。故除命常常组,连算其网本以令 常正机知而信会,没络机主若的要,议 用令 行作否是络网令 命 命关网使的本 下 障障供为,技权踪计控限、有。功大有,的安定: 因原统系 用采型部多也誉而性的带码 人和家一系毕的争一后否计制公开口统公核
6、内 作商为个注户用疑安作视重受也问的 拟可作其更 ,面用系嵌尤,无中生的乃各在算来 着。使并的多越性稳安良域器但系 还版桌在来普广经已 。重到渐问全 。欢也方统,的俗已等嵌器 。的到个正系作个作 及的网 随 者余机名 系作数工各 用并内 整来 习们际在, 示身词 ,严的著发源和由也系操 ” 是字核统 统操计 类 行地并序多可 点要最在则。影间用保权特自件己对个,用 知关 程 下 结结骤拟拟统0 件 环行 到 的目份自数倍钟时在程, 一表乘现程写编 器服 时令命网使令 使令基 学,识相 了, 进 内与法置件置会。令 掌并序简编程 会,编 下 解试目程课 献 会结 份自写程 用 表九实程一 结步操
7、学系 置件网 相络使令命 识 程 现步与的 波 : 学动程信 程 之计 报程 计 程 程 的与 令 操 程九程自 程解 会编掌令会法与进,相 使命时器写乘一,钟数的到 件统拟 程 用对自特影在点 并行 统统字 操源的, ,际 内 数 余 随 网 作正的 器的方欢全到重广在还 器安越多着算各生尤用面其 问重安用为 内公开否一一家 的誉部用系 :有功限计权障 本的命 络作 要主络信机令以算常常命议址 的主 标址执使 名的项 知卡 们的 状还行 语 接 分地名们,须- 为地址地络置口网。式 图示 命 议验连: - 类 检配。命 令立试务 在(程开端 的式 创响,监统每必端生为此程服 )服 示建配方
8、文 用直地户上可也机它 可单名服主换 .作告。此配包键。关 的、的名了 务每了名址按到止 一 统 ,具选系务”或 命 ,钮的启务进 ,面,上系务或- 使果 打或系, ,重 当 .况 件 络 . 系 输姓首 户在统 , 文. 文文. ,有读看置 / . 的 生原夹 / 程表果如用自写序分数. 0 / / : . + 0 . 体 序次我 识放 0 作着 们 硬电控台和 系快级 来个 人 形 且据 于 。 是 发 作 极关并内对简 性作而用的的 越络人 布 私 发 统常迅 包功又特基 网配户 同相,件配统之 的然作须验开的 免,令但们本配置的 户习很利我序程屡十老情的得最体的助师灯指利。前也。,成到
9、,才定真学,题料问多试到程留的习,来习住来老题提效考文 出 李务.版 冯 京0-元 西版 器南版0罗 用学和 比究 术邮0 1目 录1课程目的12要求与内容13运行环境14设计步骤及实现结果14.1 linux下Shell编程及linux相关知识14.2 Linux下shell基本命令的的使用。如网络相关命令 24.3 网络配置文件与配置方法 44.4 配置NFS服务器 54.5 Ubuntu系统的学习使用操作步骤及结果 74.6 用shell编程编写一个程序实现九九乘法表104.7用shell编程编写程序及自动备份 115总结和体会 126.参考文献 13141.课程目的通过这次试验了解li
10、nux下进行Shell编程,学会用shell编程编写一些简单的程序。并了解掌握shell命令的使用。学会网络配置文件与配置方法。2.要求与内容(1)学习在linux下进行Shell编程,并了解linux相关知识,。(2)学习Linux shell基本命令的使用掌握shell命令的使用。如网络相关命令等,同时配置samba服务器。(3)用shell编程编写一个程序实现九九乘法表。(4)编写一个Shell程序,使得程序在系统时间分钟值为5的倍数的时,自动备份此目录下的.png 文件到backup中3运行环境(1)硬件:PC机(2)软件:Ubuntu 11.04操作系统、虚拟机4.设计步骤及实现结果
11、41 linux下Shell编程及linux相关知识Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torva
12、lds。随着InternetIntranet网络的日益普及,Linux作为一个现代的操作系统,正在各个方面得到广泛的应用。Linux在服务器、嵌入式等方面已经取得不俗的成绩,在桌面系统方面,也逐渐受到欢迎。于是Linux的安全问题也逐渐受到人们的重视。现在Linux已经在全球广泛普及开来,虽然在个人桌面版方面还逊色于Microsoft Windows系统,但在服务器领域以其良好的安全性和稳定性得到越来越多用户的认可,并被广泛使用。随着后PC时代的到来,计算机在各行各业乃至人们的日常生活中已经是无处不在,尤其是嵌入式系统应用、开发方面,Linux更具有其他操作系统无可比拟的优势。Linux的安全
13、问题也逐渐受到人们的重视。操作系统的安全无疑是所有用户都关注的一个焦点,作为商业操作系统Windows的内核并不公开,系统接口也由其开发公司控制,设计,是否存在“后门”一直是争论的话题,毕竟关系到一个国家,企业和个人的安全:Linux以其代码开放所带来的高安全性而倍受赞誉,这也是许多重要部门和大型网站采用Linux操作系统的重要原因。Linux具有:稳定、可靠、安全的优点,并且有强大的网络功能。其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。4.2 Linux下shell基本命令的的使用。如网络相关命令4.2.1 ping命令ping命令用于查看网络上的主机是否在
14、工作。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。执行ping命令可以测试本机与网络中其他计算机的连通性,因此,在组网中常常使用该命令排除网络故障。Ping命令使用ICMP协议,向目标地址发送ECHO-REQUEST数据包,如果网络是连通的,可以接收到目标地址主机发回的响应ECHO-REQUEST的数据包;否则表示目标地址不可到达。Ping命令执行后如所示:ping命令的使用其中,参数destination是必须的,它可以是主机名或IP地址;其他的为命令选项。4.2.2 ifconfig命令Ifconfig命
15、令使LINUX核心知道软件回送和网卡这样一些网络接口,这样Linux就可以使用它们。除了上面介绍的这些用法之外,ifconfig命令用来监控和改变网络接口的状态,并且还可以带上很多命令行参数。下面是一个ifconfig的通用调用语法:#ifconfig interface -net-host address parameters其中interface是网络接口名:address是分配给指定接口的主机名或IP地址。这里使用的主机名被解析成它们的对等IP地址,这个参数是必须的。-net和-host参数分别告诉ifconfig将这个地址作为网络号或者是主机地址。执行ifconfig命令查看本地主机的
16、网络配置信息,也可以用于配置网络硬件接口、IP地址、网络掩码、网关地址和广播地址等。命令格式:IfconfiginterfaceIfconfig interface aftype options | addressIfconfig命令执行后如图所示:ifconfig命令的使用4.2.3 netstat命令功能说明:Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。语法:netstat -acCeFghilMnNoprstuvVwx-A-ip执行netstat命令来检测TCP/IP网络配置的正确性。netstat命令执行后如图所示:n
17、etstat命令的使用4.2.4 telnet 建立多帐户测试 Linux开启telnet服务,linux提供服务是由运行在后台的守护程序(daemon)来执行。守护进程的工作就是打开1个端口(port),等待(listen)进入的连接。在C/S模式中,如果客户提请了1个连接,守护进程就创建(fork)子进程来响应这个链接,而父进程继续监听其他服务的请求。但是,对于系统所提供的每一个服务,如果都必须运行一个监听某个端口接连发生的守护进程序,那么通常以为着系统资源的浪费。为此,“拓展的网络守护进程服务程序”xinetd(xineted internt daemon).telnet服务也是由xin
18、etd守护的。telnet命令执行后如图所示:telnet建立多帐户测试4.3 网络配置文件与配置方法4.3.1 /etc/hosts文件/etc/hosts也称为主机表,他的作用是为用户提供简单、直接的主机名到IP地址之间的转换。用户在访问网络上某台主机时可以直接使用IP地址也可以使用主机名称,但使用主机名称时必须将它翻译成计算机能识别的IP地址,利用/etc/hosts文件可以实现1种比较简单的名字解析方法:用户也可使用域名服务器来完成主机名称到IP地址的转换。4.3.2 /etc/host.confi文件/etc/host.conf时解析配置文件,它的作用时告诉计算机系统将如何进行名字解
19、析。因此该文件包含有指向解析库的配置信息。文件的每行应该包含1个配置关键字,其后时配置信息。这些关键字可以使order,trim,multi,nospoof,和reorder。4.3.3 /etc/resolv.conf文件它记录了本机使用的主、第二、第三DNS服务器的IP地址和域名搜索路径。Linux系统为了提高可靠性,控制1个域的域名服务器往往不止一个。同样,每个主机为了提高可靠性,也设置多个域名服务器的IP地址;系统将按照用户指定的顺序逐个查询直到找到为止。4.4 配置NFS服务器4.4.1 使用mount命令来挂载另一个机器上的NFS文件系统:Mount shadowman. :/mi
20、sc/export/misc/local4.4.2导出NFS文件系统,要使用NFS服务器配置工具,首先选择面板上的“主菜单”“系统配置”“服务器配置”“NFS服务器”命令,或输入redhat-config-nfs命令。4.4.3 要添加NFS 共享,单击“添加”按钮,会出现如下图所示的对话4.4.4 启动服务器使用以下命令来启动NFS进程:cd/tmp ;mkdir liuzhenzhen ; ervice nfs restart 4.4.5 配置samba服务器1、要使用该程序,要从桌面启动Samba服务器配置工具,选择面板上的“主菜单”“系统配置”“服务器配置”“Samba服务器”命令,或
21、输入redhat-config-nfs命令。如下4.5 Ubuntu系统的学习使用操作步骤及结果:4.5.1 启动Ubuntu系统,打开终端;或使用putty连接系统(如果未安装ssh,可以使用sudo apt-get install ssh) :运行ApplicationsTerminal4.5.2查看系统信息,并将以下查看内容重定向添加到文件systemInfo.txt,最后清屏:1、 查看系统当前所有进程:运行Terminalpsps SystermInfo.txt2、 查看当前系统信息:运行Terminaluname -auname a SystermInfo.txt3、 查看硬盘分区
22、情况:运行Terminalfdisk4、 查看/etc/fstab文件:运行Terminalcat /etc/fstabcat /etc/fstab SystermInfo.txt5、 查看系统当前的网络地址:运行Terminalifconfigifconfig SystermInfo.txtclear4.5.3系统用户数据:6、 切换到root状态:运行Terminalsu - root输入密码登录7、 创建用户(姓名拼间首字母加学号后两位,如张飞 ZF01),密码是123456:运行Terminaluseradd m dhy27passwd dhy27输入并确定密码8、 进入新用户,并查看
23、默认所在主目录及所有登录系统的用户:运行Terminalsu dhy27lswho4.5.4 文件操作:9、 在当前用户的主目录下,创建文件夹Labl:运行Terminalmkdir Labl10、 进入Lab1文件夹,新建文件welcome.txt,写入“Hello Zhang Fei!”保存退出:运行Terminalvi welcome.txt在vi模式下创建文件11、 将b步骤生成的文件SystemInfo.txt,移动到Lab1文件夹,并设置文件权限为:文件所有者可读写,其它为只读; 并查看文件列表,权限是否设置:运行Terminalmv /home/dhy/SystermInfo.t
24、xt /home/dhy27/Labl运行Terminalchmod 644 /home/dhy27/Labl/SystermInfo.txtls l /home/dhy27/Labl12、 返回到当前用户的主目录:运行Terminalsu dhy27pwdcdpwd13、 将Lab1文件夹打包生成tar.gz文件,并删除原文件夹:运行Terminaltar cvf tar.gz /home/dhy27/Labllsrm r Labl4.6 用shell编程编写一个程序实现九九乘法表。代码记运行结果如下:乘法表代码图如下结果图如下4.7用shell编程编写程序及自动备份要求:编写一个Shell
25、程序,使得程序在系统时间分钟值为5的倍数的时,自动备份此目录下的.png 文件到backup中4.7.1程序编写:#!/bin/bash#Program: User can backup the png files every 5 minutes. #History:2012/11/04 First release PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/binexport PATHecho This program helps you to backup the png file
26、s every 5 minutes.backdir=./backupminute=date +%Mnext=$($minute%5)if $next -eq 0 ;then echo backing. cp *.png $backdir echo finishedelse echo Cant backup this minute!fi4.7.2 运行结果5总结和体会 这个学期学习了Linux程序设计,在多次试验中,通过自己的实践我学习到了一下关于Linux的知识,Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux,但它们都使用了Linux内核。Linux可安装在
27、各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算业余爱好者Linus Torvalds。Linux操作系统,确切地说是GNU/Linux操作系统。它的诞生、发展与UNIX、MINIX操作系统、GNU计划、POSIX标准以及Internet广泛应用有着极大的关系。Linux
28、是能够自由传播并继承了UNIX内核的操作系统,是对UNIX的简化和改进,它既保留了UNIX系统的高安全性,同时也使其操作更加简单方便,从而使单机用户也可以使用。UNIX内核指的是操作系统底层的核心程序代码随着Intrnet技术的发展,越来越多的人通过网络认识了Linux,越来越多的人使用并改进着Linux.如果没有遍布全世界的无数Linux爱好者的无私奉献,那么Linux也不可能发展到今天的水平。此外Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与Linux具有的良好特性是分不开的。Linux几乎包含了UNIX的全部功能和特性,同时又有自己的一些特点。在试验中我熟悉基本的网络命令,
29、pingi、ifconfing、netstat以及熟悉网络配置文件与配置方法,体会Linux多用户的特点利用telnet进行要求每个同学都有相应的帐户,配置NFS服务器,实现文件系统的远程挂载。配置samba服务器,实现不同系统之间的文件共享,简单shell编程是本次试验操作的主要内容。然而要熟练掌握Linux操作系统的用法就必须动手实践,而试验就是实践的开始,试验也是对我们综合能力的考察。刚接触Linux操作系统,难免存在许多不足,而且对有一些命令的理解不是很深入。但是通过此次试验,我们可以熟练的掌握基本的网络命令、网络配置文件及其配置方法以及FTP的配置,亲身体会到了Linux的多用户的特
30、点。在学习中我发现,书上的内容很精致,但是要利用书上所学的知识来让我们编写一个实际的程序实在是非常困难。在调试过程中屡调屡败的状态下,这是我十分着急,最后在同学、老师的热情的帮助下,一个杂乱无章的程序被修改得有条不紊,很显然结果也是最最正确的。在此,我体会到了互相交流的作用,真诚的感谢帮助我的同学、老师们,老师就是黑暗中的指明灯,没有老师的指导,就没有我们顺利的完成任务的喜悦。同学们的帮助也是我前进的力量,也让我体会到真诚的友谊。团结就是力量,在老师、同学的帮助下,我顺利完成了此次的试验。也让我体会到了成功的来之不易,只有真正付出过才有满意的收获。总之,学习一定要持有认真的态度,只有认真的对待
31、学习,对待学习中遇到的问题,分许问题,查阅资料解决问题。在这解决问题的过程中我们能学到很多大的东西,也许最后试验没有得到正确的结果,不过这个过程给我们留下的绝对是比结果更重要的。我们要体会学习、试验的过程,同时也能感受到成功给我们带来的喜悦。在以后的学习中,一定要记住这个试验给我带来的收获,多和同学老师讨论问题,多查阅资料,这样才能提高自己的学习效率,让自己高效的学习。6.参考文献1 王景新.Linux系统管理完全手册.清华大学出版社,2008:19-27. 2 李波.Linux服务器配置与实战指南.北京:人民邮电出版社,2004:209-211.3 冯昊.LINUX服务器配置与管理.北京:清华大学出版社,2004:156-1614 尤晋元.Linux操作系统教程.西安电子科技大学出版社,2007:162-175.5 李波.Linux服务器配置与实战指南.北京:人民邮电出版社,2004:209-2116 罗文村,汤庸Linux实践及应用M北京:清华大学出版社,2OO67 鲁和杰Linux系统教学实验平台构建与比较研究【J】福建电脑,2oosOo)8 徐谡.Linux命令行技术大全.重庆:人民邮电出版社,2004:102-113.