1、做业(练习)内容:linux
一、总结本此课程中所涉及命令的使用方法及相关示例展现;nginx
chmod:修改文件权限正则表达式
示例:算法
chmod go=rwx /usr/local/nginx/conf/nginx.confshell
chmod a-x /usr/local/nginx/conf/nginx.confcentos
chmod 777 /usr/local/nginx/conf/nginx.conf
tomcat
chown:修改文件属主、属组bash
示例:编辑器
chown centos:centos /usr/local/nginx/conf/nginx.confide
chgrp:修改文件属组(chown能够知足修改要求)
umask:遮罩码
新建目录权限为777-umask
新建文件权限为666-umask(若某个用户建立的文件经过算法得出的结果有执行权限,此时会自动让权限+1,默认建立的文件无执行权限)
查看umask码,直接使用umask,root默认umask为0022
linux文本处理三剑客:
grep:文本过滤
sed:文本编辑器(行)
awk:文本报告生成器
二、总结基本正则表达式及扩展正则表达式
正则表达式分为基本正则表达式和扩展正则表达式,使用过程当中大部分是同样的
元字符:字符不表明其字面意义,而用于表达通配或控制功能。正则表达式在匹配过程当中采用的是贪婪模式,即尽量多的匹配内容
基本正则表达式
经常使用元字符:
.:匹配任意单个字符
[]:匹配指定范围内的任意字符
[^]:匹配指定范围内的任意字符
.* :任意长度的任意字符
次数匹配:
用于尧指定其次数的字符的后面
* :任意次数
\? :0或1次
\+ :1或屡次
\{m\} :精确限制为m次
\{m,n\} :m≤次数≤n
\{0,n\} : 次数≤n
\{m,\} :m≤次数
位置锚定:
^ :行首锚定,用于模式的最左侧
$ :行尾锚定,用于模式的最右侧
\< 或 \b :词首锚定,用于单词的模式左侧
\> 或 \b :词尾锚定,用于单词的模式右侧
^$ :空白行
分组:
分组的小括号中的模式匹配到的内容,会在执行过程当中被正则表达式引擎记录下来,并保存内置变量中,这些变量分别是\1 \2 ……
后向引用:
使用变量引用前面的分组括号中的模式所匹配的字符
三、显示/etc/passwd文件中以bash结尾的行
# grep bash$ /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
四、显示/etc/passwd文件中的两位数或三位数
# grep --color=auto '\<[0-9]\{2,3\}\>' /etc/passwd
五、显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行
# netstat -tan | grep 'LISTEN[[:space:]]*$'
六、添加用户bash、testbash、basher以及nologin用户(nologin用户的shell为/sbin/nologin);然后找出/etc/passwd文件中用户名与其shell名相同的行
grep '^\b\([[:alnum:]].*\)\b.*\1$' /etc/passwd
七、显示当前系统上root、centos或者user1用户的默认shell和UID (请事先建立这些用户,若不存在)
cat /etc/passwd | grep '^\(\broot\b\|\bcentos\b\|\buser1\b\)'| cut -d: -f1,3,7
八、找出/etc/rc.d/init.d/functions文件中某单词(单词中间能够存在下划线)后面跟着一组小括号的行
cat /etc/rc.d/init.d/functions | grep '[[:alpha:]]\+\>()'
九、使用echo输出一个路径,然后egrep找出其路径基名;进一步的使用egrep取出其目录名
echo /usr/local/tomcat/conf/server.xml | egrep -o '[^/]+/?$'
echo /usr/local/tomcat/conf/server.xml | egrep -o '.*/'
十、找出ifconfig命令执行结果中1-255之间的数字
暂无