Linux培训学习记录第3课

上传人:汽*** 文档编号:509418448 上传时间:2023-03-02 格式:DOCX 页数:33 大小:786.32KB
返回 下载 相关 举报
Linux培训学习记录第3课_第1页
第1页 / 共33页
Linux培训学习记录第3课_第2页
第2页 / 共33页
Linux培训学习记录第3课_第3页
第3页 / 共33页
Linux培训学习记录第3课_第4页
第4页 / 共33页
Linux培训学习记录第3课_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《Linux培训学习记录第3课》由会员分享,可在线阅读,更多相关《Linux培训学习记录第3课(33页珍藏版)》请在金锄头文库上搜索。

1、1、初级安装 = 光盘安装 -OK2、中间装 = 网络安装3、高级安装= 自动安装:机器上架插网线Dhcp+tftp+kickstart(服务器端脚本)安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last网络操作命令:ifconfi

2、g、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswhoLinux命令第三讲-20121014一、正则表达式:1、正则表达式的定义一个正则表达式的样式是一个字符串,字符串里的字符被称为元字符。它代表着匹配或指定一个模式,比表面看到的富含更多意义。2、正则表达式的组成a、一个字符集:纯字符集组成,无其他元字符,可以从字符表面理解其意思(即所见到的)b、锚:指定在一行文本

3、中要匹配的位置,例如和$分别代表“以什么开始”和“以什么结束”的锚。c、修饰符:一类符号用于扩展或缩小匹配文本行的范围,如* () ,其中*含义比较特殊3、正则表达式组成训练:星号-*-匹配一个字符的零次或一次或多次(与传统的*有所区别)“aakk*”可匹配的内容(可不止是必须以”aa”开头的,最少”kk”结束的)匹配”aa”和一个或更多的”k”加其他字符;如果正则表达式的元字符是”aak*”则代表aa加零个一个多个k的组合。(注意,这里的匹配不是等于。匹配相当于可以搜索到,等于相当于可替换。看下图体会匹配和等于的区别摘自讲义).直接匹配“*”很多情况下只能匹配“0个该字符”,如下前两个命令的

4、结果:注意:如果需要匹配一个由相同字母组合的连续字符串是,需要用”cc*”来表示,如上图最后一个命令及结果显示。典型用法:1、把所有重复字串都用本身的一个字符代替,应该如何做?下图只是用了临时寄存器一个位置:2、sed s/口口*/口/将多个空格(1或N个空格)替换为1个空格,常用于规范文本的空格数量3、sed s/c*/z/g第一个加z ,非c的字符加z,是c或多个c的情况下换成z4、seds/*/g和seds/.*/g都是删除所有,意义不同,但对任意字串操作,结果相同点的用法:.匹配除了换行符之外的任意一个字符。怀疑:”.”可以匹配1个或多个字符,是由于正则贪婪造成的。echo “a” |

5、egrep “aa.”无法匹配,是因为”aa.”要求最少一个a 附加至少一个任意字符才能匹配,所以“a”的匹配结果是“无结果脱字符:-匹配一行的开头,但依赖其后跟随的上下文环境,可能因为上下文与目标字串不能严格匹配而造成不符合要求。正则表达式中表示否定一个字符集的意思lxxx以xxx开头的字串lyyyy$以yyyy结尾的字串美元符:lxxx以xxx开头的字串lyyyy$以yyyy结尾的字串-$-在正则表达式中匹配行尾“$”匹配空行egrep “0-90-9*$”匹配数字组成的行,“0-9:space:0-9:space:*$”数字和空格混合(不匹配全空格)egrep “a-za-z*$”匹配数

6、字组成的行, “a-z:space:a-z:space:*$”字母和空格混合(不匹配全空格)方括号:s-在正则表达式中表示匹配括号中的一个字符,即 中的字符“abnc”匹配字符a,b,c,n中的一个或多个只匹配一个(或多个指定了具体字串)字母正则式: “c-n”匹配从字符(小写字母)c到n之间的任意一个字符“C-Fa-h”匹配从字符(大写字母)C到F或(小写字母)a到h之间的任意一个字符“a-z0-9”匹配任意小写字母或数字 “b-f”匹配不在小写字母b到f之间的其他所有字符。这是正则表达式中反转意思或取非的一个例子.(就好像在别的情形中!字符所扮演的角色). “YyEeSs”多括号字符集组合

7、,类似于排列组合,YES,YEs,Yes,YeS,yES,yEs,yeS,yes,但yes的顺序不能变反斜杠字符-转义字符,使字符组合能表示转义字符后面字符的原本字面意思“$”表示原字面意思”$”美元符,而不是以什么为结尾的正则表达式的“锚”。注意:转义符用途广泛,不仅仅用于正则上的匹配。在脚本中,有些时候不想让特殊字符立即生效,就需要使用转义符。比如:Ssh到1.103机器执行echo “$PWD”的命令,如果没有转义$符号,该命令在linux中执行前解释后实际就会是:ssh 192.168.1.103 echo /home/training/zhengze。转义之后,该命令在linux执行

8、前解释后会是:ssh 192.168.1.103 echo $PWD补充linux中单双引号的区别:单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符 ,而不会有特殊符号。利用变量解释单双引号的区别:转义”尖角号”-用于表示单词的边界,不被转义的尖角号表示其字面意思:“小,大于号”“”扩展元字符:问号- ? - 匹配零或一个前面的字符. 它一般用于匹配单个字符.加号- + -匹配一个或多个前面的字符,与*的唯一区别是”+”不匹配零个字符的情况,也就是不会出现空格行的情况。-有待商榷,实际操作与文章内容不符合2012-04-07 22:17 正则表达式加号和问号或

9、者星号和问号一起用原地地址是:http:/ 像+ * ? 以及M,N这几种量词(匹配数量)默认是属于贪婪量词,进行贪婪匹配什么叫做贪婪匹配呢?贪婪就是尽可能的多匹配,贪心的意思。比如现在目标字符串是 AAAA ,四个A组成的字符串,A* 和 A+ 都会匹配 AAAA。A? 则会匹配 A这就是贪婪匹配,实际运用中,有的时候我们却希望尽可能少的匹配。比如目标字符串 ab此时如果我们使用了贪婪量词.* 则会匹配 ab 。整个字符串可是我们只想要匹配第一对span标签怎么办?此时就需要用到懒惰量词,意思也很明显了,能偷懒就偷懒,呵呵,懒惰量词与贪婪量词的差别就是在贪婪量词的后面加个?号,就构成了懒惰量

10、词,如下表:贪婪量词 懒惰量词 A* A*? A+ A+? A? A?AM,N AM,N? 还是以目标字符串 AAAA 来讨论A*?, *号是匹配0次或多次,要偷懒怎么办呢?当然是最少次数了,也就是0,所以在这里匹配的结果是没有匹配到任何内容。 A+?:+是1次或多次,分析方法同上,最少次数是1次,所以匹配结果就是 A。 A?:?是0次或1次,所以这里也不进行匹配,会偷懒吧,呵呵再来看看刚刚的ab 要匹配第一对span,用懒惰量词就是.*? 我已经说的够明白了吧?这些内容我以前都是查了好多资料才知道的。 正则表达式是相当强大的语言,尤其在进行字符匹配和查找时,当然要需要花一定的时间才能掌握。-

11、有待商榷,实际操作与文章内容不符合转义“大括号”- 指示前面正则表达式匹配的次数无转义标示符则只表示大括号,不属于基本正则表达式内容,只是技巧。“0-95”精准匹配5个数字(0,1,2,3,4,5,6,7,8,9中的数字)。注意:大括号不能在“经典”(不是POSIX兼容)的正则表达式版本的awk中使用. 然而, gawk 有一个选项-re-interval来允许使用大括号(不必转义). bash$ echo 2222 | gawk -re-interval /23/ 2222Perl和一些egrep版本不要求转义大括号.圆括号 - ( ) - 括起一组正则表达式. 它和下面要讲的|操作符或在用

12、expr进行子字符串提取(substring extraction)一起使用很有用.竖线- | - 或正则操作符用于匹配一组可选的字符.二、流编辑器(sed)Sed是流线型、非交互式编辑器。它允许你执行与vi和ex编辑器里一样的编辑任务。Sed程序不是与编辑器交互式工作的,而是让你在命令行里敲入编辑的命令,然后再屏幕上查看命令输出的结果。Sed编辑器按一次处理一行的方式来处理文件,并把结果输出到屏幕。在本次课程中,只讲解sed最常用的几种功能。这几种功能可以满足日常linux运维需求,但是只能涵盖sed功能的冰山一角。想要知道的命令:1、删除每行从第四个开始向后的字符,并显示结果2、只想显示每

13、行第一个字符,或者最后一个字符1、按照行号打印格式:sed n1p file实例1、只打印第一行sed 1p 1.txt出现重复,sed n 1p 1.txt可消除重复行参数-n:关闭显示打印功能cat xinghao.txt | sed 1,7p ,p表示打印命令 不加最后的p则报错:cat xinghao.txt | sed n 1,7p匹配:cat xinghao.txt | sed -n /abc/p实例2、消除重复显示的情况sed 2,4p 1.txt 出现重复行,sed -n 2,4p 1.txt 可以消除重复显示的情况打印匹配行(相当于egrep)在引号中,在打印命令“p”前,可以放置一对/标识符,来代表匹配。形如/ /。实例3、打印含有字母“c”的行sed n /c/p 1.txt实例4、打印以某个字母开头的行sed n /a/p 1.txt实例5、打印指定重复数量字母所在的行实例6、打印bb与 cd之间的行 cat seds.txt | sed n /bb/,/cd/p 基于打印包含一个字串字符串所在行的正则表达式 sed n /xxx/p seds.txt扩展正则贪婪:”.*c”会匹配到最后

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号