欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    shell编程基础(初学入门).ppt

    • 资源ID:70014501       资源大小:338KB        全文页数:24页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    shell编程基础(初学入门).ppt

    ShellShell编程基础编程基础龚龚 关关 gong.guangong.guangdgd-Shell基础基础n什么是什么是shellshellshell是计算机用来解释你输入的命令然后决定进行何种处理的程序。是用户和Linux内核之间的接口程序。也在非交互模式下调用。Shell分类分类n在Linux系统下有几个不同的shell:nbashBourneAgainshell是Bourneshell的扩展nshBourneshell,在很多UNIX下是标准的shellncshCshell,和C语言语法相近,大部分UNIX下有效npdkshpublicdomainKornshellntcsh微型Cshell,在小的系统里经常使用nBashshell是GNU计划的重要工具软件之一nBashshellGNU操作系統中标准的shell.n查看你自己的shell类型:echo$SHELLshell基本语法基本语法n输入输出重定向n“”和“”和“:正确重定向n2:错误重定向n&:正确和错误一起重定向shell基本语法基本语法n管道pipencommand1|command2|command3.n前台和后台n“;”和“&”n执行顺序n&和|Shell环境变量环境变量n环境变量nshell在开始执行时就已经定义了一些和系统的工作环境有关的变量,这些变量用户还可以重新定义;用户可以用set、env命令查看n$HOME使用者自己的目录n$PATH执行命令时所搜寻的目录n$TZ时区n$MAILCHECK每隔多少秒检查是否有新的信件n$PS1在命令列时的提示号n$PS2当命令尚未打完时,Shell要求再输入时的提示号n$MANPATHman指令的搜寻路径Shell预定义变量预定义变量n预定义变量n预定义变量和环境变量相类似,也是在shell一开始时就定义了的变量,所不同的是,用户只能根据shell的定义来使用这些变量,而不能重定义它。所有预定义变量都是由$符和另一个符号组成的n$0这个程式的执行名字n$n这个程式的第n个参数值,n=1.9n$*这个程式的所有参数n$#这个程式的参数个数n$这个程式的PIDn$!执行上一个背景指令的PIDn$?执行上一个指令的返回值Shell预定义变量举例预定义变量举例#!/bin/bashecho$0echo$1$2$3echo$#echo$echo$*Shell用户变量用户变量n用户定义的变量n变量名=变量值ndeclare-afirx变量名=变量值n变量名前不应加符号“$”,在引用变量的内容时则应在变量名前加“$”;n在给变量赋值时,等号两边一定不能留空格,若变量中本身就包含了空格,则整个字符串都要用双引号括起来n建议所有的变量名都用大写字母来表示n变量的只读性:readonly变量名n整个shell使用变量export变量名Shell用户变量举例用户变量举例n用户定义的变量#!/bin/bashname=V.Birdmyname1=Mynameis$namemyname2=Mynameis$nameecho$nameecho$myname1echo$myname2shell特殊符号使用特殊符号使用nshellshell使用两种引号和反斜线使用两种引号和反斜线n双引号双引号“”“”(让引号内的变量生效)(让引号内的变量生效)n单引号单引号(引号内的变量当作一个字符使用)(引号内的变量当作一个字符使用)n反斜线反斜线(禁用特殊字符功能(禁用特殊字符功能$)n后引号(让引号内的命令生效)后引号(让引号内的命令生效)rootgdlcshell#var=gongrootgdlcshell#echovaris$varvarisgongrootgdlcshell#echovaris$varvaris$varrootgdlcshell#echovaris$varvaris$varrootgdlcshell#echovaris$varvaris$varrootgdlcshell#echolsfileggg.shtime.shttt.shshell逻辑判断逻辑判断n逻辑判断逻辑判断n1.文件与目录文件与目录-f文件是否存在文件是否存在-d目录是否存在目录是否存在-b是否为是否为block文件文件-c是否为是否为character文件文件-S是否为是否为socket文件文件-L是否为是否为symboliclink文件文件-e是否存在!是否存在!n2.程序程序-G是否由是否由GID所执行的程序所拥有所执行的程序所拥有-O是否由是否由UID所执行的程序所拥有所执行的程序所拥有n3.文件属性文件属性-r是否为可读的屬性是否为可读的屬性-w是否为可以写入的屬性是否为可以写入的屬性-x是否为可執行的屬性是否为可執行的屬性-s是否为非空白文件是否为非空白文件-u是否具有是否具有SUID的屬性的屬性-g是否具有是否具有SGID的屬性的屬性n4.两个文件之间的对比两个文件之间的对比-nt第一个文件比第二个文件新第一个文件比第二个文件新-ot第一个文件比第二个文件旧第一个文件比第二个文件旧-ef第一个文件与第二个文件为同一文件(第一个文件与第二个文件为同一文件(link之类)之类)shell运算运算n运算运算=等于等于!=不等于不等于大于大于-eq等于等于-ne不等于不等于-lt小于小于-gt大于大于-le小于或等于小于或等于-ge大于或等于大于或等于-a双方都成立(双方都成立(and)-o单方成立(单方成立(or)-z空字串空字串-n非空字串非空字串shell逻辑判断与运算举例逻辑判断与运算举例if-d$fileif-d$filethenthenecho“$file is a directory”echo“$file is a directory”elifelif-f$file-f$filethenthenif-r$file a w$file a x$fileif-r$file a w$file a x$filethenthenecho“you have r-w-x permission on$file.”echo“you have r-w-x permission on$file.”fifielseelseecho“$file is neither a file nor a directory”echo“$file is neither a file nor a directory”fifi正则表达式正则表达式n正则表达式正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。基本元字符集及含义基本元字符集及含义n基本元字符集基本元字符集n只匹配行首n$只匹配行尾n*只一个单字符后紧跟*,匹配0个或多个此单字符n只匹配内字符n只用来屏蔽一个元字符的特殊含义n.只匹配任意单字符npatternn只用来匹配前面pattern出现次数。n为次数npatternn,m只用来匹配前面pattern出现次数。n为次数,但pattern出现次数在n与m之间模式模式n基本模式匹配基本模式匹配once这个模式包含一个特殊的字符,表示该模式只匹配那些以once开头的字符串。例如该模式与字符串“onceuponatime”匹配,与“ThereoncewasamanfromNewYork”不匹配。模式模式n字符簇字符簇n要判断输入的电话号码、地址、EMAIL地址、信用卡号码等是否有效,用普通的基于字面的字符是不够的,需要建立字符簇n举例说明a-z 匹配所有的小写字母a-zA-Z匹配所有的字母0-9匹配所有的数字0-9.-匹配所有的数字,句号和减号frtn匹配所有的白字符a-z除了小写字母以外的所有字符/除了()(/)()之外的所有字符“除了双引号(”)和单引号()之外的所有字符模式模式n确定重复出现确定重复出现a-zA-Z_$所有的字母和下划线a4$aaaaa2,4$aa,aaa或aaaaa1,3$a,aa或aaaa2,$包含多于两个a的字符串a2,如:baad和aaa,但Nantucket不行t2两个制表符.2所有的两个字符a-zA-Z0-9_1,$所有包含一个以上的字母、数字或下划线的字符串0-91,$所有的正数-0,10-91,$所有的整数-0,10-90,.0,10-90,$所有的小数常用正则表达式正则表达式n常用的正则表达式常用的正则表达式$匹配行结尾匹配行结尾 匹配行开头匹配行开头 表示转义表示转义 iIiI 对大写或小写对大写或小写I I$对空行对空行.$.$对包括对包括6 6个字符的行个字符的行 SsSsignaigna lLlL 对匹配单词对匹配单词signalsignal、signaLsignaL、Signal Signal、SignaL SignaL SsSsignaigna lLlL.对同上,但加一句点对同上,但加一句点 USER$USER$对只包含对只包含USERUSER的行的行 ttytty$对以对以ttytty结尾的行结尾的行 .对带句点的行对带句点的行 d.x.x.xd.x.x.x对用户、用户组及其他用户组成员有可执行权限的目录对用户、用户组及其他用户组成员有可执行权限的目录 ll对排除关联目录的目录列表对排除关联目录的目录列表 .*0.*0对对0 0之前或之后加任意字符之前或之后加任意字符 000*000*对对000000或更多个或更多个 .*$.*$对匹配行中任意字符串对匹配行中任意字符串 常用正则表达式正则表达式n常用的正则表达式常用的正则表达式 a-a-zAzA-Z-Z对任意单字符对任意单字符 a-za-z*a-za-z*对至少一个小写字母对至少一个小写字母 0-9$0-9$对非数字或美元标识对非数字或美元标识 0-00-0A-A-ZaZa-z-z对非数字或字母对非数字或字母 123123对对1 1到到3 3中一个数字中一个数字 DdDd eviceevice对单词对单词devicedevice或或Device Device qq对以对以 q q开始行开始行 .$.$对仅有一个字符的行对仅有一个字符的行 .0-90-9.0-90-9对以一个句点和两个数字开始的行对以一个句点和两个数字开始的行 DeviceDevice对单词对单词device device DeVvice.DeVvice.对单词对单词DeviceDevice或或deVice deVice 0-92-0-92-0-940-92-0-92-0-94对日期格式对日期格式dddd-mm-mm-yyyy yyyy 0-93.0-93.0-93.0-930-93.0-93.0-93.0-93对对IPIP地址格式地址格式nnnnnn.nnnnnn.nnnnnn.nnn nnn.*$.*$对匹配任意行对匹配任意行Grep使用使用ngrepgrep 语法语法grep选项基本正则表达式或字串文件选项:选项:-c只输出匹配行的计数。-i不区分大小写(只适用于单字符)。-h查询多文件时不显示文件名。-l查询多文件时只输出包含匹配字符的文件名。-n显示匹配行及行号。-s不显示不存在或无匹配文本的错误信息。-v显示不包含匹配文本的所有行。正则表达式举例正则表达式举例n正则表达式举例正则表达式举例#more/etc/#more/etc/passwd passwd|grepgrep r rroot:x:0:0:root:/root:/bin/bashroot:x:0:0:root:/root:/bin/bashrpm:x:37:37:/rpm:x:37:37:/varvar/lib/rpm:/lib/rpm:/sbinsbin/nologinnologinrpcrpc:x:32:32:x:32:32:PortmapperPortmapper RPC user:/:/RPC user:/:/sbinsbin/nologinnologinrpcuserrpcuser:x:29:29:RPC Service User:/:x:29:29:RPC Service User:/varvar/lib/lib/nfsnfs:/:/sbinsbin/nologinnologin#more/etc/#more/etc/passwd passwd|grepgrep bash$bash$root:x:0:0:root:/root:/bin/bashroot:x:0:0:root:/root:/bin/bashadmin:x:500:500:/home/admin:/bin/bashadmin:x:500:500:/home/admin:/bin/bashgongguan:x:501:501:/home/gongguan:/bin/bashgongguan:x:501:501:/home/gongguan:/bin/bashuser1:x:502:502:/home/user1:/bin/bashuser1:x:502:502:/home/user1:/bin/bash练习练习n练习练习1 1、改变系统提示符为改变系统提示符为 。2 2、只列出当前目录下所有目录。、只列出当前目录下所有目录。3 3、创建文件、创建文件1 1和和2 2,将文件,将文件1 1的内容从定向到的内容从定向到2 2。

    注意事项

    本文(shell编程基础(初学入门).ppt)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开