马哥教育网络21期+第五周练习博客

马哥教育网络21期+第五周练习博客

1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
[root@localhost ~]# egrep "^[[:space:]]+.*" /boot/grub/grub.conf 

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

3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
[root@localhost ~]# netstat -tan | egrep "\<LISTEN\>.*[[:space:]]$"

4、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;
[root@localhost ~]# egrep "(^[[:alnum:]]+\>).*\1$" /etc/passwd 

5、显示当前系统上root、fedora或user1用户的默认shell;
[root@localhost ~]# egrep "^(root|fedora|user1)" /etc/passwd | cut -d':' -f7
/bin/bash
/bin/bash
/bin/bash

6、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
[root@localhost ~]# egrep "\<[[:alnum:]]+\>\(\)" /etc/rc.d/init.d/functions 

7、使用echo命令输出一个绝对路径,使用grep取出其基名;
扩展:取出其路径名
 echo "/etc/passwd" | grep -E -o "[^/]+/?$" | cut -d"/" -f1

[root@localhost ~]#  echo "/etc/passwd" | egrep -o "[^/]+/+" | cut -d'/' -f1
etc

8、找出ifconfig命令结果中的1-255之间数字;
ifconfig | egrep -o "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])" 
如果要匹配的是完整数字组:
[root@localhost ~]# ifconfig | egrep "\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])\>"



9、挑战题:写一个模式,能匹配合理的IP地址;
[root@localhost ~]# ifconfig | egrep -o "\<([1-9]|[1-9][0-9]|1[0-9][1-9]|2[0-5]([0-4]|[6-9]))[.]([0-9]|[1-9][0-9]|1[0-9][1-9]|2[0-4][0-9])[.]([0-9]|[1-9][0-9]|1[0-9][1-9]|2[0-4][0-9])[.]([0-9]|[1-9][0-9]|1[0-9][1-9]|2[0-4][0-9])\>"
192.168.1.5
127.0.0.1


10、挑战题:写一个模式,能匹配出所有的邮件地址;
egrep "([[:alnum:]]+[:punct:]|[[:alnum:]]+)@([[:alnum:]]+\.|[[:alpha:]]+\.?|[[:alpha:]]+?)" 

11、查找/var目录下属主为root,且属组为mail的所有文件或目录;
[root@wanghongkai ~]# find /var  -user root -group mail 
/var/spool/mail

12、查找当前系统上没有属主或属组的文件;
[root@wanghongkai ~]# find /home  -nouser -a -nogroup

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

[root@wanghongkai ~]# find /home -nouser -a -nogroup -atime -3

13、查找/etc目录下所有用户都有写权限的文件;
[root@wanghongkai ~]# find /var -perm -222 -ls
393803    0 srw-rw-rw-   1 root     root            0 Jul 30 06:19 /var/run/rpcbind.sock
393831    0 srw-rw-rw-   1 root     root            0 Jul 30 06:19 /var/run/acpid.socket

14、查找/etc目录下大于1M,且类型为普通文件的所有文件;
[root@wanghongkai ~]# find /etc -size +1M -type f
/etc/selinux/targeted/modules/active/policy.kern
/etc/selinux/targeted/policy/policy.24
/etc/yum.repos.d/httpd-2.2.31.tar.bz2
/etc/yum.repos.d/httpd-2.2.31/srclib/apr/.libs/libapr-1.a
/etc/yum.repos.d/httpd-2.2.31/srclib/apr/configure
/etc/yum.repos.d/httpd-2.2.31/.libs/httpd
/etc/yum.repos.d/httpd-2.2.31/server/.libs/libmain.a
/etc/gconf/gconf.xml.defaults/%gconf-tree.xml

15、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;
[root@wanghongkai ~]# find /etc/init.d/ -perm -113 -ls

16、查找/usr目录下不属于root、bin或hadoop的文件;
[root@wanghongkai ~]# find /usr -not -user root -a -not -user bin -a -not -user hadoop
/usr/local/apache2/man/man8/logresolve.8
/usr/local/apache2/man/man8/htcacheclean.8
/usr/local/apache2/man/man8/suexec.8
/usr/local/apache2/man/man8/apachectl.8


[root@wanghongkai ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \)
/usr/local/apache2/man/man8/logresolve.8
/usr/local/apache2/man/man8/htcacheclean.8
/usr/local/apache2/man/man8/suexec.8
/usr/local/apache2/man/man8/apachectl.8
/usr/local/apache2/man/man8/rotatelogs.8
/usr/local/apache2/man/man8/httpd.8
/usr/local/apache2/man/man8/apxs.8
/usr/local/apache2/man/man8/ab.8
/usr/local/apache2/man/man1/htpasswd.1
/usr/local/apache2/man/man1/htdigest.1

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

[root@wanghongkai ~]# find /etc -not -perm /222
/etc/shadow-
/etc/shadow
/etc/ld.so.conf.d/kernel-2.6.32-358.el6.x86_64.conf
/etc/gshadow
/etc/sudoers
/etc/pam.d/cups

18、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
[root@wanghongkai ~]# find / -nouser -a -nogroup -a -atime -7

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

(0)
wostopwostop
上一篇 2016-08-02
下一篇 2016-08-02

相关推荐

  • 正则表达式***(Regular Experssion)

    正则表达式 正则表达式缩写为regex、regexp、RE等。他是文本处理极为重要的技术,其应用非常广泛,shell中处理文本的命令、各种高级编程语言都支持正则表达式,用它可以对字符串按照某种规则进行检索和替换, 分类 BRE:基本正则,grep、sed、vi等软件支持。vim支持扩展正则 ERE:扩展正则,egrep(grep -E)、sed -r等。 P…

    Linux干货 2017-11-05
  • LVS中nat和dr的原理与用法简述

      LVS中nat和dr的原理与用法简述 lvs-nat:   多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发; (1)RIP和DIP必须在同一个IP网络,且应该使用私网地址;RS的网关要指向DIP; (2)请求报文和响应报文都必须经由Director转发;Director…

    Linux干货 2016-10-30
  • Linux基本命令

    前言 今天学习了Linux下的一些基本命令,在此归纳总结一下这些命令的基本用法。 Linux命令帮助的获取     在拿到一个命令后不知道其用法,我们可以通过命令帮助来查看它的用法,但linux下内部命令和外部命令获取帮助的方法是有差别的。     内部命令:help command &n…

    Linux干货 2016-10-14
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@UncleZ ~]# who | cut -d' ' -f1 | uniq -c 2、取出最后登录到当前系统的用户的相关信息。 [roo…

    Linux干货 2016-12-17
  • if,case,for 脚本练习

    shell脚本练习

    2018-05-06
  • 磁盘管理——MBR与GPT的分区

    一、硬盘的结构 这里讲的主要是网上所谓的老式磁盘,它是由一个个盘片组成的,我们先从个盘片结构讲起。如下图所示,图中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图中蓝色部分)。扇区是磁盘的最小组成单元,通常是512字节           &…

    Linux干货 2016-09-02

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-02 11:59

    写的很好,排版也很棒,加油