- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux系统与网络管理06-Shell和Shell编程分析
shell脚本 循环语句 for ….do….done 由for已经知道要循环多少次了 while….do….done 当满足while后面的条件时候就继续做 until….do…. done 直到满足until后面的条件时才结束 shell脚本 Linux下常用的编程语言 C和C++ Perl Python TCL PHP Java Lisp, Common Lisp, Scheme Fortran 功能强大的实用工具-find 如果要同时使用多个参数,可以使用连接符进行参数组合 同时满足两个参数 参数1 参数2 参数1 -and 参数2 满足两个参数中的一个 参数1 -or 参数2 功能强大的实用工具-find action为操作 -print 在标准输出中显示文件名 -exec command { } \; 对找到的文件执行指定命令 -ok command { } \; 在执行命令前请求确认 功能强大的实用工具-grep grep实用程序 文本文件中查找内容 Global regular expression print的缩写 指定给grep的文本模式称“正则表达式” 通常当作过滤器使用 也可查找多个文件 功能强大的实用工具-grep grep常用的参数 -v 输出不匹配的行 -c 输出满足匹配模式的行数 -i 匹配时忽略大小写 -n 在输出符合要求的行之前输出该行在文件中的行号 正则表达式 正则表达式(Regular Expression,RE) 正则表达式最常用在用在字符串的搜索与对比,进行多样化的对比技巧,以帮助各种套件取得所需要的资料。 如:电子邮件服务器sendmail也使用正规表达式进行邮件的过滤。在vi、more里也可以用RE来查找需要的字符串。 目前有很多套件都是使用正规表达式来达到“过滤、分析”的目的,作为系统管理员,掌握它是非常重要的!!! 正则表达式 Shell的特殊字符辨认系统没有利用RE。 原因是正则表达式更难用。 Shell的特殊字符和RE相似,但有区别。 由于RE用到了特殊字符,为了避免shell识别出现混乱,所以所有的RE都必须用单引号括起来。 正则表达式和shell的特殊字符异同点 RE用点匹配任意一个字符,相当于shell的问号。 .*匹配零或多个字符,相当于shell的*号 []用法和shell一样,只是用^代替了!表示不匹配 正则表达式 正则表达式的模式匹配字符: . 匹配单个任意的字符 [list] 匹配字符串列表中的其中一个字符 [range] 匹配指定范围中的一个字符 [^list] 匹配指定列表外的一个字符 [^range] 匹配指定范围外的一个字符 正则表达式 与匹配字符配合使用的量词: * 匹配前一个字符零次或多次 \{n\} 匹配前一个字符n次 \{n,\} 匹配前一个字符至少n次 \{n,m\} 匹配前一个字符n次至m次 控制字符: ^ 只在行头匹配RE $ 只在行末匹配RE \ 引用特殊字符 正则表达式 例: \..$ 匹配倒数第二个字符是句点的行 ^…$ 匹配只有3个字符的行 ^[0-9]\{3\}[^0-9] 匹配以3个数字开头跟着是一个非数字字符的行 ^\([A-Z][A-Z]\)*$ 匹配只全部是大写字母并且字母个数为偶数个的行 注:该行全部大写字母并且字母的个数为偶数个。 注意圆括号()的使用,后面的*号是重复()里的规则 输入输出命令 输入输出命令 标准输入输出 每一个Linux命令都有3个与之相关的输入输出流: stdin 标准输入,命令默认的输入位置 stdout 标准输出,命令默认的输出位置 stderr 标准错误输出,也是命令的输出 位置,用于输出错误及诊断信息。 输入输出命令-标准输入输出 流(stream) 作用 默认指向 编号 stdin 标准输入 键盘输入 0 stdout 标准输出 终端屏幕 1 stderr 标准错误输出 终端屏幕 2 输入输出命令-标准输入输出 输入输出命令-重定向 stdout重定向 格式:filename 或 1filename 输出结果将会存入一个文件而不是显示在屏幕上; 重定向stdout后,stderr还是连接到终端; 在实际执行命令前,shell会自动打开该文件(如果不存在则自动创建)并清空,命令执行完成时,然后正确关闭该文件。 特别注意:说明不管命令的执行结果如何,该文件都被清空 输入输出命令-重定向 输入输出
文档评论(0)