一、作业(练习)内容:
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,\} :m≤次数
位置锚定:
^ :行首锚定,用于模式的最左侧
$ :行尾锚定,用于模式的最右侧
\< 或 \b :词首锚定,用于单词的模式左侧
\> 或 \b :词尾锚定,用于单词的模式右侧
^$ :空白行
分组:
分组的小括号中的模式匹配到的内容,会在执行过程中被正则表达式引擎记录下来,并保存内置变量中,这些变量分别是\1 \2 ……
后向引用:
使用变量引用前面的分组括号中的模式所匹配的字符
3、显示/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
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 '^\(\broot\b\|\bcentos\b\|\buser1\b\)'| 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之间的数字
暂无