一、作业(练习)内容:
1、总结本此课程中所涉及命令的使用方法及相关示例展示
grep: 文本搜索工具,根据用户指定的文本模式(正则表达元字符及正常字符组成而成)对目标文件进行逐行搜索,显示匹配的行
grep [OPTIONS]... [PATTERN] [FILENAME]...
--color=auto #对匹配到的字符串作高亮显示
-i #忽略大小写
-v #仅显示匹配不到行
-O #仅显示匹配到的字符串
-q #静默模式
-E #支持扩展正则表达式
-n #显示行号
-A N: #显示匹配到的行及其下面的N行
-B N: #显示匹配到的行及其上面的N行
-C N: #显示匹配到的行及其上N行和下N行
egrep 相当于 “grep -E”支持扩展正则表达式
fgrep 相当于 “grep” 但不支持正则表达式,查找速度快
[root@xxj ~]# cat 2test heel,world root add tm linux fedora centos froot gentoo suse linux mint root add tm linux fedora centos fRoot gentoo suse linux [root@xxj ~]# grep "root" 2test root add tm froot gentoo suse linux mint root add tm [root@xxj ~]# grep -v "root" 2test heel,world linux fedora centos linux fedora centos fRoot gentoo suse linux [root@xxj ~]# grep -i "root" 2test root add tm froot gentoo suse linux mint root add tm fRoot gentoo suse linux [root@xxj ~]# grep -in "root" 2test 2:root add tm 4:froot gentoo suse linux mint 5:root add tm 7:fRoot gentoo suse linux [root@xxj ~]# grep -ion "root" 2test 2:root 4:root 5:root 7:Root [root@xxj ~]# grep -n -C 3 root /etc/passwd 1:root:x:0:0:chfn root:/root:/bin/bash 2-bin:x:1:1:bin:/bin:/sbin/nologin 3-daemon:x:2:2:daemon:/sbin:/sbin/nologin 4-adm:x:3:4:adm:/var/adm:/sbin/nologin -- 8-halt:x:7:0:halt:/sbin:/sbin/halt 9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10-uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin 11:operator:x:11:0:operator:/root:/sbin/nologin 12-games:x:12:100:games:/usr/games:/sbin/nologin 13-gopher:x:13:30:gopher:/var/gopher:/sbin/nologin 14-ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin [root@xxj ~]#
2、总结基本正则表达式及扩展正则表达式
基础正则表达式:
字符匹配:
. 任意单个字符
[] 指定范围内的任意单个字符
[^] 指定范围外的任意单个字符
常用的字符集合:
[a-z]注意在文件名通配中是表示所有字母,包括大小写,在正则表达式中只表示小写
[A-Z],[0-9],[a-zA-Z0-9],[^a-zA-Z0-9]
[:lower:],[:upper:],[:alpha:],[digit],[:allnum:],[:punct:],[:space:],[^:lower:]
次数匹配:
3、显示/etc/passwd文件中以bash结尾的行
4、显示/etc/passwd文件中的两位数或三位数
5、显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行
6、添加用户bash、testbash、basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行
7、显示当前系统上root、centos或者user1用户的默认shell和UID (请事先创建这些用户,若不存在)
8、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行
9、使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名
10、找出ifconfig命令执行结果中1-255之间的数字
原文地址:http://xiexiaojun.blog.51cto.com/2305291/1689108