马哥教育网络班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

相关推荐

  • 关于加密那点事

    作者【Jev Tse】 环境:sentos6.8     【本文预览】      一、关于加密      二、对称加密      三、非对称加密      四、单向散列 …

    Linux干货 2016-12-01
  • Linux用户及组的管理相关知识

    Linux用户及组的管理相关知识 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d " " -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 ~]# last -x | head -1 3、取出当前系统上被用户当作其默认shell的最多的那…

    Linux干货 2016-10-05
  • 用户权限管理

    描述: 用户在系统上的操作受到权限的约束,例如对文件或者目录进行查看、修改、复制、删除等操作时,由文件或者目录对应的操作的权限所决定的。 在root的家目录下创建一个普通文件和目录并查看其属性: [root@localhost ~]# echo 123 > file1 [root@localhost&n…

    Linux干货 2016-08-04
  • 马哥教育网络班21期+第六周博客作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; # cp -a /etc/rc.d/rc.sysinit /tmp/ # ls /tmp/ | grep rc.sysin…

    Linux干货 2016-08-15
  • Linux发展史

    一、简单的说: 一个名叫Linus Torvalds的芬兰大学生想要了解Intel的新CPU386。他认为比较好的学习方法是自己编写一个操作系统的内核。出于这种目的,加上他对当时Unix 变种版本(即Minix)对于80386类机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持POSIX标准的、类Unix的操作系统内核,该系统吸收了BSD和S…

    Linux干货 2016-10-20
  • MBR详解

    前言:     话说,现在买电脑如果预装win8以上的系统,基本上都是GPT。想当年博主买的电脑预装的win8磁盘分区样式就是GPT,而且貌似如果想把win8换win7就得把GPT改成MPR。虽然会在最后提到GPT,不过本文还是主要讲解MBR,并通过实验验证。 机械硬盘: 主引导记录(Master Boot Record,缩写:MBR),…

    Linux干货 2016-11-14

评论列表(1条)

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

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