马哥教育网络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 10:55
下一篇 2016-08-02 10:55

相关推荐

  • 马哥Linux学习之查询篇(命令查询和文件查询)

        Linux运维工作一般都使用命令完成,在如此多的各种命令中,要想全部记住显然是不太可能也是不必要的,另外,文件的查找在日常操作中也是必不可少的。下面我就总结一下Linux中如何查找命令以及文件。     命令的运行文件路径查询。这个查找的方法是同样是使用命令,这个命令叫w…

    Linux干货 2015-04-13
  • M20 – 1- 第三周博客(3):Linux上文本处理三剑客grep

    Grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 1、作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用 权限是…

    Linux干货 2016-08-08
  • N24_星空学习宣言

    学习是一种投资,既然投资了就不能亏损,努力学习,做一个学习界的巴菲特!

    Linux干货 2016-10-24
  • 第九周-Shell脚本编程

      1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash nologin=0 login=0 for i in `cut -d : -f 7 /etc/passwd`;do if [ $i = /sbin/n…

    Linux干货 2017-08-23
  • iptables学习笔记

    这几学习iptables,踩了一些坑,作下总结。 1、三表 (1)filter:默认表,处理本机数据包,包含input、output和forward (2)nat:处理源或目的IP/端口转换,包含prerouting、postrouting、output (3)mangle:处理高级路由信息,包含prerouting、output、input、forward…

    Linux干货 2016-06-09
  • shell入门 (一)

    Shell就是一个命令行解释器 ,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。 Shell还有一种执行命令的方式称为批处理 (Batch),用户事先写一 个Shell脚本 (Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一…

    Linux干货 2017-08-26

评论列表(1条)

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

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