您好,欢迎访问三七文档
1学年论文(课程论文、课程设计)题目:Linuxshell程序设计作者:所在学院:专业年级:指导教师:职称:年月日2Linuxshell程序设计摘要:Linux是一个免费的、多用户的、多任务的操作系统,其运行方式、功能和Unix系统很相似,但Linux系统的稳定性、安全性与网络功能是许多商业操作系统所无法比拟的。Linux系统最大的特色是源代码的公开,在符合GUN/GPL的原则下,任何人都可以自由取得传播甚至修改源代码。从程序员的角度来看,shell本身是一种用c语言编写的程序,从用户的角度来看,shell是用户与linux操作系统沟通的桥梁。用户即可以输入命令执行,又可以利用shell脚本编程,完成更加复杂的操作。随着网络的日益盛行,越来越多的技术高超的程序员加入到Linux的开发与完善中来,在系统管理等领域,shell编程起着不可忽略的作用。深入地了解和熟练地掌握shell编程,是每一个linux用户的必修功课之一。关键词:Linux,Shell、类型及建立,控制语句,输入输出3目录绪论..................................................................................................................................................4一,shell的特点....................................................................................................................6二,shell程序实例................................................................................................................7三,shell脚本的建立和执行................................................................................................8四,命令历史...........................................................................................................................9五,shell特殊字符..............................................................................................................10六,shell变量......................................................................................................................11七,控制结构.........................................................................................................................13八,函数.................................................................................................................................164绪论Linux是一个免费的、多用户的、多任务的操作系统,其运行方式、功能和Unix系统很相似,但Linux系统的稳定性、安全性与网络功能是许多商业操作系统所无法比拟的。UNIX是世界上最流行的操作系统之一,它是一种实时操作系统,可以运行于大型和小型计算机上的多任务系统。但由于它比较庞大,而且价格昂贵,所以不适合PC机用户使用。而Linux正好弥补了这些缺点,同时还继承了UNIX大多数优点。由于它基于PC机上运行的操作系统,并且内核源代码是公开的,使得Linux成为时下最浒的操作系统。Linux适用于PC机的计算机操作系统,它适合于多种平台,是目前唯一免费的非商品化操作系统。由于有结构清晰、功能强大等特点,它很快成为许多院校学生和科研机构的研究人员学习和研究的对象。在他们的热心努力下,Linux渐渐成为一个稳定可靠、功能完善的操作系统。Linux是由UNIX发展来的,它不仅继承了UNIX操作系统的特征,而且许多方面还超过了UNIX系统。另外它还有许多UNIX所不具有的优点和特征。它的源代码是开放的,可运行于许多硬件平台,支持多达32种文件,支持大量的外部设备等。本文主要介绍了linux中shell的基本概念和构成,从程序员的角度来看,shell本身是一种用c语言编写的程序,从用户的角度来看,shell是用户与linux操作系统沟通的桥梁。用户即可以输入命令执行,又可以利用shell脚本编程,完成更加复杂的操作。随着网络的日益盛行,越来越多的技术高超的程序员加入到Linux的开发与完善中来,在系统管理等领域,shell编程起着不可忽略的作用。深入地了解和熟练地掌握shell编程,是每一个linux用户的必修功课之一。Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂。它结合了延展性与效率,持续保有独具的特色,并不断被改良,是那些类似与GUI等的屏幕图形界面最有力的支柱。Shell程序是指放在一个文件中的一系列Linux命令和实用程序。在执行的时候,通过Linux操作系统一个接一个地解释和执行每条命令。此后,只要直接执行该程序便能完成工作。如果你的程序写的很有用,其他人可以利用该程序当做一个黑盒来使用。本论文将对shell做一个比较全面的解析,使大家能够对之更加熟悉。5一、初识shell在写这篇论文之前,我们需要弄清楚5个基本的概念:1)什么是Shell?官方的解释称:Shell是一种具备特殊功能的程序,它是介于使用者和UNIX/Linux操作系统之核心程序(kernel)间的一个接口,是核心程序(kernel)之外的指令解析器,是一个程序,同时是一种命令语言和程序设计语言。也就是说,为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成损害,在内核的周围建了一个外壳(shell)。用户向shell提出请求,shell解释并将请求传给内核。2)shell的本质本质上,shell脚本是命令行命令简单的组合到一个文件里面。Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令,然后调用相应的应用程序。输入echo$SHELL可以知道当前运行在那个Shell标准中。3)shell标准有哪些?使用较广的shell有标准的Bourneshell(sh)、KornShell(ksh)、Cshell(csh)、BourneAgainShell(bash)等。4)shell程序大体内容shell自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。任何在提示符中能键入的命令都能放到一个可执行的shell程序中。5)运行shell的脚本格式运行一个shell脚本必须为(./+名字.sh)。5个基本概念明白之后,我们首先来编写第一个Shell程序,从中学习Shell程序的编写、修改权限、执行过程。利用vi编辑器编辑脚本,将脚本命名为date.sh。编辑一个内容如下的源程序,保存文件名为date,可将其存放在目录/bin下。6)执行Shell程序有下面三种方法:方法一:[root@localhostbin]#./dateMr.root,Todayis:二月06星期二Wishyoualuckyday!方法二:另一种执行date的方法就是把它作为一个参数传递给Shell命令:[root@localhostbin]#BashdateMr.root,Todayis:二月06星期二Wishyoualuckyday!方法三:为了在任何目录都可以编译和执行Shell所编写的程序,即把/bin的这个目录添加到整个环境变量中。具体操作如下:[root@localhostroot]#exportPATH=/bin:$PATH[root@localhostbin]#dateMr.root,Todayis:二月06星期二Wishyoualuckyday!接下来我们通过一些例子将shell编程进一步阐释。6二,shell的特点一种高级程序设计语言,它有变量,关键字,有各种控制语句,如if、case、while、for等语句,支持函数模块,有自己的语法结构。Shell有如下几种特点:☆组合新命令☆提供了文件名扩展字符☆直接使用shell的内置命令☆灵活地使用数据流☆结构化的程序模块☆在后台执行命令☆可配置的环境☆高级的命令语言Shell的种类:(1)Bourneshell(简称sh)(2)Cshell(简称csh)(3)Kornshell(简称ksh)(4)BourneAgainshell(即bash)7三,shell程序实例下面是由三条简单命令组成的shell程序(文件名为ex1)。$catex1datepwdcd..下面是简单地用shell输出当前年月日的程序运行结果图:020406080100第一季度第三季度东部西部北部8四,shell脚本的建立和执行执行shell脚本的方式基本上有三种:(1)输入定向到shell脚本$bash脚本名(2)以脚本名作为参数其一般形式是:$bash脚本名[参数]bashshell的内置命令:type通过type我们可以知道一个命令式内置命令还是外部命令。type[-t]命令-t:加入参数t时,结果为以下意思:file:表示为外部命令alias:表示该命令式别名所设置的名称builtin:表示该命令为bash内置命令,按如上面所说的步骤写命令其运行结构为:(3)将shell脚本的权限设置为可执行,然后在提示符下直接执行它。$chmoda+xex2$PATH=$PATH:.$ex2查看环境变量使用env或者export命令,可以查看系统中所有的变量例如:下面是它实际实现图:9四,命令历史显示历史命令语法格式是:history[option][arg…]如果不带任何参数,则history命令会显示历史命令的清单如果history后给出一个正整数(如50),就只显示历史表中的最后50行命令。例如:如果只是查看最近的10条历史命令,可以在命令提升符下输入:#history10在linux系统的默认配置下,重复的历史命令都会存入.bash_history文件。如果不希望在输入history命令查看历史命令时,看到连续重复的历史命令,我们可以在.bashrc中加入下面两行:exportHISTCONTROL=ignorebothshopt-shistappend其中第一行的命令的作用为“移除Linuxshell命令历史记录中连续重复的文件”,第二行的作用为“shell退出时,将shell的历史记录附加到您的记录文件”。如果history后给出一个文件名,就把它作为历史文件名。10五,shell特殊字符1.一般通配符*(星号),它匹配任意字符的0次或多次出现?(问号),它匹配任意一个字符[](一对方括号),其中有一个字符组。其作用是匹配该字符组所限定的任何一个字符!(惊叹号),如果它紧跟在一对方括号的左方括号([)之后,则表示不在一对方括号中所列出的字符由双引号括起来的字符(除$、倒引号(`)和反斜线(\)外)均作为普通字符对待。由单引号
本文标题:linux学年论文
链接地址:https://www.777doc.com/doc-2169908 .html