正则表达式练习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式练习相关的知识,希望对你有一定的参考价值。
◆ 练习题①:● 复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
◆ 习题解答:
● [[email protected] home]# install -d -m 700 /etc/skel/ /home/tuser1
● [[email protected] home]# ls -dlh tuser1/
● drwx- - - - - -. 2 root root 6 3月 30 15:14 tuser1/
◆ 练习题②:
● 编辑/etc/group文件,添加组hadoop。
◆ 习题解答:
● echo "hadoop:x:1003:" >> /etc/group
◆ 练习题③:
● 手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
◆ 习题解答:
● vim /etc/passwd
● hadoop:x:1003:1003::/home/hadoop:/bin/bash
◆ 练习题④:
● 复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
◆ 习题解答:
● [[email protected] home]# install -d -m 700 /etc/skel/ /home/hadoop
● [[email protected] home]# ls -ldh /home/hadoop
● drwx- - - - - -. 2 root root 6 3月 30 15:27 /home/hadoop
◆ 练习题⑤:
● 修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
◆ 习题解答:
● [[email protected] home]# chown -R hadoop /home/hadoop
● [[email protected] home]# chgrp -R hadoop /home/hadoop
● [[email protected] home]# ls -ldh /home/hadoop
● drwx- - - - - -. 2 hadoop hadoop 6 3月 30 15:27 /home/hadoop
◆ 练习题⑥:
● 显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
◆ 习题解答:
● cat /proc/meminfo | egrep "^(s|S)"
● grep "^[sS]" /proc/meminfo
◆ 练习题⑦:
● 显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
◆ 习题解答:
● [[email protected] home]# cat /etc/passwd | awk -F‘:‘ ‘{print $7}‘ | grep -v "/sbin/nologin"
or:
● [[email protected] home]# grep -v "/sbin/nologin$" /etc/passwd | awk -F‘:‘ ‘{print $7}‘
◆ 练习题⑧:
● 显示/etc/passwd文件中其默认shell为/bin/bash的用户;
◆ 习题解答:
● [[email protected] home]# grep "/bin/bash$" /etc/passwd | awk -F‘:‘ ‘{print $1}‘
◆ 练习题⑨:
● 找出/etc/passwd文件中的一位数或两位数;
◆ 习题解答:
● [[email protected] home]# egrep -o "\<[0-9]|[1-9][0-9]\>" /etc/passwd
◆ 练习题⑩:
● 显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
◆ 习题解答:
● grep -v "\<[[:space:]]*" /boot/grub/grub.conf
◆ 练习题?:
● 显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
◆ 习题解答:
● grep "\^#[[:space:]]+[^[:space:]]" /etc/rc.d/rc.sysinit
◆ 练习题?:
● 打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
◆ 习题解答:
● netstat -tan | grep "LISTEN[[:space:]]*$"
◆ 练习题?:
● 添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;
◆ 习题解答:
● [[email protected] /]# useradd bash
● [[email protected] /]# useradd testbash
● [[email protected] /]# useradd bashe
● [[email protected] /]# useradd nologin -s /sbin/nologin
● [[email protected] /]# egrep "^([^:]+\>).*\1$" /etc/passwd
● sync:x:5:0:sync:/sbin:/bin/sync
● shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
● halt:x:7:0:halt:/sbin:/sbin/halt
● bash:x:2003:2003::/home/bash:/bin/bash
● nologin:x:2006:2006::/home/nologin:/sbin/nologin
以上是关于正则表达式练习的主要内容,如果未能解决你的问题,请参考以下文章