20150827-Y1506401-19+benz2015+正则表达式
一、作业(练习)内容: 1、总结本此课程中所涉及命令的使用方法及相关示例展示; chmod:修改文件权限 示例: chmod go=rwx /usr/local/nginx/conf/nginx.conf chmod a-x /usr/local/nginx/conf/nginx.conf chmod 777 /usr/local/nginx/conf/nginx.conf chown:修改文件属主、属组 chown centos:centos /usr/local/nginx/conf/nginx.conf chgrp:修改文件属组(chown可以满足修改要求) umask:遮罩码 新建目录权限为777-umask 新建文件权限为666-umask(若某个用户创建的文件通过算法得出的结果有执行权限,此时会自动让权限+1,默认创建的文件无执行权限) 查看umask码,直接使用umask,root默认umask为0022 linux文本处理三剑客: grep:文本过滤 sed:文本编辑器(行) awk:文本报告生成器 2、总结基本正则表达式及扩展正则表达式 正则表达式分为基本正则表达式和扩展正则表达式,使用过程中大部分是一样的 元字符:字符不代表其字面意义,而用于表达通配或控制功能。正则表达式在匹配过程中采用的是贪婪模式,即尽可能多的匹配内容 基本正则表达式 常用元字符: .:匹配任意单个字符 []:匹配指定范围内的任意字符 [^]:匹配指定范围内的任意字符 .* :任意长度的任意字符 次数匹配: 用于尧指定其次数的字符的后面 * :任意次数 ? :0或1次 + :1或多次 {m} :精确限制为m次 {m,n} :m≤次数≤n {0,n} :次数≤n m≤次数 位置锚定: ^ :行首锚定,用于模式的最左侧 $ :行尾锚定,用于模式的最右侧 &; 或 b :词首锚定,用于单词的模式左侧 &; 或 b :词尾锚定,用于单词的模式右侧 ^$ :空白行 分组: 分组的小括号中的模式匹配到的内容,会在执行过程中被正则表达式引擎记录下来,并保存内置变量中,这些变量分别是1 2 …… 后向引用: 使用变量引用前面的分组括号中的模式所匹配的字符 3、显示/etc/passwd文件中以bash结尾的行 #grepbash$/etc/passwd root:x:0:0:root:/root:/bin/bash centos:x:500:500::/home/centos:/bin/bash redhat:x:501:501::/home/redhat:/bin/bash 4、显示/etc/passwd文件中的两位数或三位数 # grep --color=auto '&;[0-9]{2,3}&;' /etc/passwd 5、显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行 # netstat -tan | grep 'LISTEN[[:space:]]*$' 6、添加用户bash、testbash、basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行 grep '^b([[:alnum:]].*)b.*1$' /etc/passwd 7、显示当前系统上root、centos或者user1用户的默认shell和UID (请事先创建这些用户,若不存在) cat /etc/passwd | grep '^(brootb|bcentosb|buser1b)'| cut -d: -f1,3,7 8、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行 cat /etc/rc.d/init.d/functions | grep '[[:alpha:]]+&;()' 9、使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名 echo /usr/local/tomcat/conf/server.xml | egrep -o '[^/]+/?$' echo /usr/local/tomcat/conf/server.xml | egrep -o '.*/' 10、找出ifconfig命令执行结果中1-255之间的数字 暂无 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |