讲师说这是个难点,所以就把这部分写一下,本人认为通过习题理解会更深刻一些。
1.找出/etc/passwd中的两位或三位数
注意:在做这道题时,一定要锚定词首词尾,锚定词尾因为四位数包含三位数,如下图所示
锚定词首是因为万一所建的用户名中包含数字,如下图所示。
2.添加用户bash、testbash、basher、sh、nologin(其shell为/sbin/nologin),找出/etc/passwd用户名同shell名的行。
在做这道题的时候,我就忽视了下面的情况,主要是当时对词首词尾锚定理解不够深刻。要避免这种情况的出现,也可以加个/来区别。
3.找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行
4.将此字符串:welcome to magedu linux 中的每个字符去重并排序,重复次数多的排到前面
这个题的难点是怎样把这句话以单个字母单行显示,这个会了,其他就小菜一碟。
5.使用egrep取出/etc/rc.d/init.d/functions中其基名
注意:^放在括号里是“非”的意思放在括号外边是行首的意思。
6.统计last命令中以root登录的每个主机IP地址登录次数
注意:先把root截取出来,再取ip地址。
7.使用正则表达式的时候,使用扩展表达式比较方便,因为很多地方不用加转义字符。另外,"."包含大小写字母,数字和下划线。