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

相关推荐

  • 正则表达式

    正则表达式REGEXP 有一类特殊符号表是控制伙同裴的功能程序支持:grep,seb,。。。基本正则表达式:BRE扩展正则表达式;ere采用不同算法经检查处理正则表达式的软件模块PCRE元字符:字符匹配,匹配次数,位置锚定,分组 man7详细文档 字符匹配.表示任意的单一字符 放在[]里表示.本身不需要转义\.转义(回归字符本身的含义)表示.本身[]表示字符…

    Linux笔记 2018-04-08
  • Linux文件管理类命令相关

    Linux文件管理类命令相关 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 1)、查看文件命令: (1)ls命令: list,列出目录下的内容 语法: ls [OPTION]… [FILE]… 常用选项: -a: 显示所有文件,包括隐藏文件; -A:显示除.和..之外的所有文件; -l: –…

    Linux干货 2016-09-24
  • 标准I/O和管道

    input:输入读入数据 output:输出数据文件的 打开的文件都有一个fd: file descriptor (文件描述符) ll /proc/$$/fd #查看fd exec 8<>/data/hosts #指定fd I/O重定向:该变默认位置 > #把标准输出重定向到文件(一个”>”是覆盖,”>>”是追加) 2&g…

    2018-04-02
  • Linux系统下的bonding设置

    bonding多个物理网卡聚合成一个虚拟网卡     Bonding,其原理是讲多个物理网卡聚合成一个虚拟网卡,一张网卡正常工作,其余网卡作为备用,每隔一段时间(miimon=毫秒),向正常工作的网卡发一状态询问,若没回复,则认为其运行失败,然后就会启用备用网卡,但是IP地址不会改变。   &nbs…

    Linux干货 2016-09-07
  • 7.磁盘及文件系统管理

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdisk /dev/sd…

    Linux干货 2017-08-21
  • N22 网络班-第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   2、取出最后登录到当前系统的用户的相关信息。   3、取出当前系统上被用户当作其默认shell的最多的那个shell。   4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxus…

    Linux干货 2016-09-06

评论列表(1条)

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

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