马哥教育网络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之函数     函数介绍函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程。它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部分。函数和shell程序比较相似,区别在于:Shell程序在子Shell中运行而Shell函数在…

    Linux干货 2016-08-25
  • 学习shell scripts

    1. 为什么要学习shell编程?          许多人会问,为什么要学习shell脚本编程?我学的是linux,又不是编程,其实对于个人用户可能用处不是很大,但是当你在为公司的成千上完的服务器做维护时,可能没有shell编程的话可能把人累死也无法完成任务,一千台服务器要做相…

    Linux干货 2016-08-18
  • linux基础2

    1.文件管理常用命令: <1>mkdir,rmdir mkdir:make directory mkdir [OPTION]… DIRECTORY… -p:自动按需创建父目录; -v:verbose,显示详细过程; -m MODE;直接给定权限; 注意:路径基名方为命令的作用对象;基名之前的路径必须存在; rmdir:re…

    Linux笔记 2018-07-01
  • 马哥教育网络班21期-第2周课程练习

    第2周课程练习 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 1.1、ls ls: list列出目录内容,显示指定路径下的文件列表; 格式    ls [OPTION]… [DIR]… 常用选项: -a, –all: 显示所有文件,包括隐藏文件; -l: 长格式 &nbs…

    2016-07-07
  • 第四周作业:etc/skel实战联系

    第四周作业

    2018-04-13
  • 马哥教育网络班21期-第一周课程练习

    1、描述计算机的组成及其功能。    计算机由运算器、控制器、存储器、输入设备、输出设备 五部分组成。    CPU担当运算器、控制器;内存,硬盘担当存储器    运算器的主要功能是实现算术运算和逻辑运算   …

    2016-07-02

评论列表(1条)

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

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