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

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

[root@localhost ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf

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

[root@localhost ~]# grep '^#[[:space:]]\+.*\+' /etc/rc.d/rc.sysinit

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

[root@localhost ~]# netstat -tan |grep 'LISTEN[[:space:]]\+$'

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

[root@localhost log]# grep '^\([[:alnum:]]\+\>\).*\1$' /etc/passwd

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

[root@localhost log]# awk -F: '/^root|user1|fedora/{print $1,$7}' /etc/passwd
root /bin/bash
user1 /bin/bash

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

[root@localhost ~]# grep '\<.*\>()' /etc/rc.d/init.d/functions

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

    扩展:取出其路径名

[root@localhost ~]# echo "/etc/sysconfig/network-scripts/" |grep '[^/]\+/\?$' -o|cut -d/ -f1
[root@localhost home]# echo "/etc/sysconfig/network-scripts/" | sed -r 's@^(/.*/)[^/]+/?@\1@g'

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

[root@localhost ~]# ip addr show |egrep '[1-9][0-9]?|1[0-9][0-9]|2[0-5]{1,2}'  -o

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

[root@localhost ~]# ifconfig |grep '[1-9][0-9]\{0,3\}\.[0-9]\{0,3\}\.[0-9]\{0,3\}\.[0-9]\{1,4\}' -o
192.168.72.129
192.168.72.255
255.255.255.0
192.168.3.29
192.168.3.255
255.255.255.0
127.0.0.1
255.0.0.0

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

[root@localhost ~]# egrep '[[:alnum:]]+@[[:alnum:]]+\.[[:alpha:]]\+'

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

[root@localhost ~]# find /var/ -user root -group mail -ls
67150324    4 drwxrwxr-x   2 root     mail         4096 Jul  2 15:40 /var/spool/mail

12、查找当前系统上没有属主或属组的文件;

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

[root@localhost ~]# find / -nouser -o -nogroup

[root@localhost ~]# find / -nouser -o -nogroup -a -atime 3

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

[root@localhost ~]# find /etc/ -perm /222

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

[root@localhost etc]# find /etc -size +1M -a -type f -ls

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

[root@localhost home]# find /etc/init.d/ -perm -113 -ls

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

[root@localhost etc]# find /usr -not -user root -a -not -user bin -a -not -user hadoop

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

[root@localhost etc]# find /etc/ -not -perm -222

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

[root@localhost etc]# find /etc/ -mtime -7 -a -not -user root -a -not -user hadoop

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

(0)
dcstrikedcstrike
上一篇 2016-07-12 11:24
下一篇 2016-07-12 11:24

相关推荐

  • 机器学习排序

     从使用的数据类型,以及相关的机器学习技术的观点来看,互联网搜索经历了三代的发展历程。        第一代技术,将互联网网页看作文本,主要采用传统信息检索的方法。        第二代技术,利用互联网的超文本结构,有效…

    Linux干货 2015-12-15
  • 制作python模块安装包[原创]

     python的第三方模块越来越丰富,涉及的领域也非常广,如科学计算、图片处理、web应用、GUI开发等。当然也可以将自己写的模块进行打包或发布。一简单的方法是将你的类包直接copy到python的lib目录,但此方式不便于管理与维护,存在多个python版本时会非常混乱。现介绍如何编写setup.py来对一个简单的python模块进行打包。 一、…

    Linux干货 2015-03-27
  • day6作业

    1、创建用户gentoo,附加组为bin和root,默认shell为 /bin/csh,注释信息为"Gentoo Distribution"     2、创建下面的用户、组和组成员关系 名字为admins 的组 用户natasha,使用admins …

    系统运维 2016-08-08
  • Linux高级文件系统管理

                                          &n…

    系统运维 2016-09-06
  • 深入理解php底层:php生命周期

    1、PHP的运行模式:     PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。 1、当我们在终端敲入php这个命令的时候,它使用的是CLI。 它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。 2、当使用Apache或者别web服务器…

    系统运维 2015-05-28
  • corosync + pacemaker + iscsi实现高可用mysql (上)

    一、实验图   二、准备实验环境:  1)确保sql服务器之间可以基于主机名通信 [root@SQL1 ~]# vim /etc/hosts 172.16.2.13  SQL1.linux.com  SQL1 172.16.2.14  SQL2.li…

    Linux干货 2015-07-09

评论列表(1条)

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

    写的很好,排版也很棒,在看一下第二个,加油