马哥教育网络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)
上一篇 2016-08-02 10:55
下一篇 2016-08-02 10:55

相关推荐

  • 文件处理工具及正则表达式练习

    本节练习均在centos7系统下实现,部分练习只截取部分截图,另外排版的事情我已经放弃了! 1.找出/etc/rc.d/init.d/functions文件中行首为某单词(包括下划线)后面跟一个小括号的行 注:^ 行首, . 匹配任意单个字符,* 匹配前面的字符任意次 突然发现前面解法错误,没有排除空格后加小括号的情况,下面是正确做法 2.统计last命令中…

    Linux干货 2017-07-29
  • yum仓库搭建

    两台主机: 一台centos7  客户机 一台centos6  服务器 准备工作 1.查看是否共享服务是否可用 httpd或vsftpd 是否安装。确认安装之后选择vsftpd为共享服务/var/www/html和/var/ftp/pub为共享目录。 这里使用vsftpd,/var/ftp/pub这个目录为共享目录 在这个目录下建立一个独立的文件夹 [roo…

    2017-12-01
  • tomcat基础进阶

                        tomcat基础进阶 前言 Tomcat Architecture Tomcat Installation Tomcat…

    Linux干货 2016-04-22
  • CentOS 6系统启动流程

    Linux系统的组成 内核+根文件系统 内核功能:     进程管理、内存管理、文件系统管理、网络管理、安全功能、驱动程序 运行中的系统环境可分为两层:内核空间、用户空间     用户空间:应用程序(进程或线程)     内核空间:内核代码…

    Linux干货 2016-09-15
  • Linux磁盘管理及其相关命令使用

    Linux磁盘及文件系统    CPU MEMORY(RAM) I/O    I/O:disks entercard    Disks:持久存储数据    接口类型:      IDE(ata):并行 133MB/s     &n…

    Linux干货 2016-08-26
  • 细节决定成败–空格的巨大作用以及正则表达式中元字符的转义

    字符串的条件判定 1.字符串判定 一定要用双[[ ]] 2.字符串判定=~默认支持扩展正则表达式,这里注意双引号的使用 仅仅做是否包含时,有无双引号无区别。 但是利用其他扩展表达式时 双引号一定要去掉 锚定示例 多条件判定时-o -a使用时,不能使用双中括号 空格有无的差别 !的使用细节 !到目前为止 有两种意义 条件判定取反 历史命令的调用 两者的使用却别…

    2017-03-19

评论列表(1条)

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

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