马哥教育网络班21期-第五周课程练习

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

[root@localhost ~]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf

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

[root@localhost ~]# grep "^#[[:space:]]\{1,\}[^[:space:]]\{1,\}" /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相同的用户的信息;

#!/bin/bash
#

for user in bash testbash basher nologin;do
    id $user &> null
    if [ $? -eq 0];then
        echo "$user is exist"
    else
        if [ $user != nologin ];then
                useradd $user
        else
                useradd -s /sbin/nologin $user
        fi
    fi
done

grep "^\(\<[[:alnum:]]\+\>\):.*\1$" /etc/passwd | cut -d: -f1

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

[root@localhost ~]# for user in root fedora user1;do grep "^$user" /etc/passwd | cut -d: -f1,7;done

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

[root@localhost ~]# grep "\<[[:alpha:]]\+\>()" /etc/rc.d/init.d/functions

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

    扩展:取出其路径名

[root@localhost games]# echo /usr/local/ga1mes | grep -o "\<[[:alnum:]]\+\>$"  #取基名
[root@localhost games]# echo "/usr/local/games" | grep -o "^\/.*\/"  #取路径名

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

[root@localhost games]# ifconfig eth0 | egrep -o "\<[1-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|25[0-5]"

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

[root@localhost ~]# ifconfig eth0 | egrep -o "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"

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

[root@localhost ~]# echo la1y_123@126x.com | grep "[[:alnum:]_]\+@[[:alnum:]]\+\.[[:alpha:]]\{2,\}"

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

[root@localhost games]# find /var -user root -group mail

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

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

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

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

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

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

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

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

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

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

[root@localhost ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \)

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

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

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

[root@localhost ~]# find /etc/ -mtime -7 -not \( -user root -o -user hadoop \)

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

(0)
Net21_木头Net21_木头
上一篇 2016-08-08
下一篇 2016-08-08

相关推荐

  • 2017-10-4Linux基础知识(3)

    在上一章中讲到了操作系统的历史的发展以及Linux的如何诞生,在1991年的8月份,创始人Linus宣布成立Linux的,Larry Wall开发diff和patch打补丁的命令程序使得Linux可以在安全性方面有很大的提升。

    Linux干货 2017-10-05
  • IoC/DIP其实是一种管理思想

    关于IoC的的概念提出来已经很多年了,其被用于一种面象对像的设计。我在这里再简单的回顾一下这个概念。我先谈技术,再说管理。 话说,我们有一个开关要控制一个灯的开和关这两个动作,最常见也是最没有技术含量的实现会是这个样子: 然后,有一天,我们发现需要对灯泡扩展一下,于是我们做了个抽象类: 但是,如果有一天,我们发现这个开关可能还要控制别的不单单是灯泡的东西,我…

    Linux干货 2016-08-15
  • linux 第二周

     一. 文件管理       文件被组织到文件系统(file system)中,通常会成为一个树状(tree)结构。Linux有一个根目录/, 也就是树状结构的最顶端。这个树的分叉的最末端都代表一个文件,而这个树的分叉处则是一个目录(directory, 相当于我们在windows界面中看到的文件夹)。在图1…

    Linux干货 2017-05-29
  • N26 第六周作业

    总结vim编辑器的使用 Vim 模式    Vim 有六种基本模式    Normal mode                 Visual mode&nbs…

    Linux干货 2017-02-01
  • Linux终端类型介绍

    相关命令:tty 适合阅读人群:所有   终端机 终端(Computer terminal),是一台电子计算机或者计算机系统,用来让用户输入数据,及显示其计算结果的机器。又名终端机,它与一部独立的电脑不同,其实就是一种输入输出设备,一台电脑多人使用,每增加一个用户只须增加一台显示器和一套键盘鼠标就可以成为一个独立的终端,多用户可同时使用互相独立,跟…

    Linux干货 2016-10-14
  • 今天把/boot/目录下的文件删除了只好重新安装一下内核和grub

    一前言         今天手贱把/boot/目录下的文件删了  系统重启之后无法登陆系统 无奈只好重装一下内核和grub 二准备工作           Centos7 系统光盘一张 当然我这是虚拟…

    2017-03-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-17 15:37

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