马哥教育网络班20期+第5周课程练习

1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

egrep "^\s+" /boot/grub/grub.conf

2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

egrep "^#\s+\S" /etc/rc.d/rc.sysinit

3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

netstat -tan |egrep  "LISTEN\s+"

4、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

useradd bash
useradd testbash
useradd basher
useradd nologin -s /sbin/nologin
egrep "^(\b\w+\b).*\1$" /etc/passwd

5、显示当前系统上root、fedora或user1用户的默认shell;

egrep "(^root|^fedora|^user1)" /etc/passwd | cut -d: -f7

6、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();

egrep "\b\w+\b\(\)" /etc/rc.d/init.d/functions

7、使用echo命令输出一个绝对路径,使用grep取出其基名;扩展:取出其路径名

echo "/etc/rc.d/init.d/functions" | egrep -o "\w+$"
echo "/etc/rc.d/init.d/functions" | egrep -o "/.*/"

8、找出ifconfig命令结果中的1-255之间数字;

ifconfig | egrep -o "\b[1-9]\b|\b[1-9][0-9]\b|\b[1][0-9][0-9]\b|\b[2][0-4][0-9]\b|\b25[0-5]\b"

9、挑战题:写一个模式,能匹配合理的IP地址;

ifconfig | egrep -o "inet addr.*[0-9]\s+" | cut -d" " -f2 | cut -d: -f2

10、挑战题:写一个模式,能匹配出所有的邮件地址;

cat <<EOF | egrep -o "\w.*@\w.*\...*"

11、查找/var目录下属主为root,且属组为mail的所有文件或目录;

find /var -user root -group mail -ls

12、查找当前系统上没有属主或属组的文件;进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

find / -type f \( -nouser -o -nogroup \) -ls
find / \( -nouser -o -nogroup -a -atime -3 \) -ls

13、查找/etc目录下所有用户都有写权限的文件;

find /etc -perm -222  -ls

14、查找/etc目录下大于1M,且类型为普通文件的所有文件;

find /etc  -type f -size +1M  -exec ls -lh {} \;

15、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

find /etc/init.d  -perm -113  -ls

16、查找/usr目录下不属于root、bin或hadoop的文件;

find /usr -not -user root -a -not -user bin -a -not -user hadoop

17、查找/etc/目录下至少有一类用户没有写权限的文件;

find /etc -not -perm -222 -ls

18、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;

find /etc -mtime -7 -a -not -user root -a -not -user hadoop -ls

原创文章,作者:Stone,如若转载,请注明出处:http://www.178linux.com/23632

(0)
StoneStone
上一篇 2016-07-12 11:21
下一篇 2016-07-12 11:21

相关推荐

  • 探索处理文本工具“sed”的相关奥妙

    一:sed工具 1,set的介绍:sed是一种流编辑器,它一次处理一行内容。处理时,把当前 处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断…

    2017-08-26
  • Linux三剑客之sed

     Sed简介       sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处 理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存…

    Linux干货 2016-08-12
  • Nginx lnmp环境及https的实现

    一、http事务简明  request: <method> <URL> <VERSION> MHADERS <body> response: <version><status><reason phrase> <HEADERS> … <body&…

    2014-09-25
  • shell 脚本 【上】

    shell 脚本编程 【上】 程序就是指令加上数据组合而成 程序编程风格:  过程式:以指令为中心,数据服务于指令  象式:以数据为中心,指令服务于数据  编程语言:  低级:汇编  高级:  编译:高级语言–>编译器–>目标代码 java,C#  解释…

    Linux干货 2016-08-15
  • 马哥教育网络班20期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  who | cut -d' ' -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。    last&nbsp…

    2016-06-23
  • 高级变量-有类型变量

    一.高级变量用法– 有类型变量   Shell 变量一般是无类型的,但是bash Shell 提供了declare和 typeset 两个命令用于指定变量的类型,两个命令是等价的 declare [ 选项]  变量名 -r  将变量设置为只读属性 -i  将变量定义为整型数 -a  将变量定义为数…

    Linux干货 2016-11-24

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 11:35

    写的很好,排版也很棒,可以尝试用grep去匹配一下,加油