Linux常用命令与Shell基本编程.ppt_第1页
Linux常用命令与Shell基本编程.ppt_第2页
Linux常用命令与Shell基本编程.ppt_第3页
Linux常用命令与Shell基本编程.ppt_第4页
Linux常用命令与Shell基本编程.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Shell脚本基本编程,无线产品部katanazhang2009-11-09,课程目标,linux常用命令shell脚本编程awk的用法,(一)Linux常用命令,系统文件网络其他,toppsfreevmstatiostatpstreelsof,lscdpwdtimeexportdatekill/killall,aliasipcsipcrmdfducrontabulimit,常用命令系统,lncatheadtailmorelessrenamewhichwhereiswho,diffgrepcutsortuniqwcjoin,mkdirmvrmcplocatefindhistory,splitchmodchownsutargzipgunzip,正则表达式,常用命令文件,常用命令网络、其它,sshifconfignetstatsz/rzscp,pingtcpdumptelnetrsyncexpect,calclearbcman,(二)Shell脚本编程,概念特点语法实例,什么是Shell,Shell是一个命令解释器Shell也是一种编程语言解析语法执行命令,什么是shell脚本?,shell是一种特殊的程序,它是用户与Linux系统内核之间的接口它解释运行由命令行或文件输入的命令,从而实现用户与内核间的交互当输入是文件形式时,这个含有待执行命令的文件就叫做脚本,Shell脚本的用途?,数据统计分析,进程实时监控,小程序的替身,Shell脚本的特点?,简单、快速,不需要编译,灵活高效,当要反复使用一个或连续一组命令时,可以用shell脚本很方便的将它们全部执行,添加和修改逻辑只需要简单的保存文件,不担心性能,1.选择一种Shellbash(bourneagainshell)2.找一个编辑器vi/vim3.依据语法编写命令及规则文件*.sh4.增加文件可执行权限或使用sh执行./*.shshx*.sh,Shell脚本的建立,注释以#开头的句子(#!除外)表示注释,直到这一行结束变量Shell变量都由字符串组成,不需要声明,可以在程序的任意位置重新对变量赋值:赋值:变量名=值访问:$变量名或者$变量名,=两端不能有空格,建议注释,Shell脚本基本语法,系统预设变量$0当前程序的执行名字$n当前程序的第n个参数值,n=1.9$*当前程序的所有参数$#当前程序的参数个数$当前程序的PID$!执行上一个指令的PID$?执行上一个指令的返回值,Shell脚本基本语法,数值运算bash只提供了整数运算,一般通过let和expr这两个指令来实现:例如:let“x=$x+1”或x=expr$x+1非整形运算可以通过bc来实现x=echoscale=2;(x-y)/x|bc在表达式中支持的操作符及其含义为:+-*/%(加,减,乘,除,取模)=;condition2);conditionn);*)defaultstat;esac,Shell脚本基本语法,test命令iftestexpr;thenfi,ifexpr;thenfi,Shell脚本基本语法,Shell脚本基本语法,定义:functionfunc_name()#dooperationon$n#函数外的变量是全局的#local可指定局部变量,引用:func_name$param_listadd()RET=$($2+$1)add101237;echo$RET,函数,Shell脚本基本语法,(三)学习使用Awk,语法实例,基本语法awk-FEre-vAssignment-fProgramFile|Programfile输入:文件/命令行模式匹配1.正则表达式,开始使用awk,一个或多个前一个指定的字符,0个或一个前一个指定的字符,0个或多个前一个指定的字符,任意一个字符,或;前后两个字符串中的任意一个,m个r,至少m个r,m到n个r,含m,n,abcde中任意一个字符,非abcde中任意一个字符,以abc开头,以abc结尾,2.关系表达式(匹配)!(不匹配)(大于)=(大于等于)=(等于)!=(不等于)3.条件组合Ere1,Ere2指定范围(Ere1到Ere2);()将复杂的条件组合在一起;Expression;Expression)Statement4)break/continue5)for(VariableinArray)Statement6)if(VariableinArray)Statement,开始使用awk,7)deleteArrayExpression8)delete/fdelete9)exit使用函数functionfunc_name(param1,param2)调用:RET=func_name(param1,param2)functionaverage(g,n)for(iing)sum=sum+giavg=sum/nreturnavg,开始使用awk,内建函数1.数学函数atan2(y,x)返回y/x的反正切。cos(x)返回x的余弦;x是弧度。sin(x)返回x的正弦;x是弧度。exp(x)返回x幂函数。log(x)返回x的自然对数。2.字符串函数sub(Ere,Repl,In)替换第一个In中与Ere匹配的字符串gsub(Ere,Repl,In)替换所有In中与Ere匹配的字符串index(String1,String2)查询子字符串length(String)返回字符串长度substr(String,M,N)返回M开始长度为N的子字符串,开始使用awk,match(String,Ere)split(String,A,Ere)将String分割为数组元素Antolower(String)转换为小写字符串toupper(String)转换为大写字符串sprintf(Format,Expr,Expr,.)格式转换,用法同c3.时间函数mktime(datespec)输入“YYYYMMDDHHMMSS”,输出秒strftime(format,timestamp)输入秒,返回格式字符串systime()返回当前时间eg.awkprintstrftime(%b-%a,mktime(20050513000000),开始使用awk,输出printExpressionListRedirectionExpressionExpressionList:待输出的字符串,由变量和常量字符串组成Redirection:,|输出到文件或做为其他命令的输入Expression:Redirection的目的地址,文件名或其他命令printfFormat,ExpressionListRedirectionExpressionprintf语句将ExpressionList参数指定的表达式以Format参数指定的格式写至标准输出,Format同c语言(除了%c)%c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论