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

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

egrep '^[[:space:]]+' /boot/grub/grub.conf

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

egrep '^#[[:space:]]+[^[:space:]]+' /etc/rc.d/rc.sysinit

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

netstat -tan |grep  'LISTEN[[:space:]]*'

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

[root@scm-dzm ~]# useradd bash
[root@scm-dzm ~]# useradd testbash
[root@scm-dzm ~]# useradd basher
[root@scm-dzm ~]# useradd -s /sbin/nologin nologin
[root@scm-dzm ~]# egrep --color=auto '^(\<[[:alnum:]]+\>).+\1$' /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:501:501::/home/bash:/bin/bash
nologin:x:504:504::/home/nologin:/sbin/nologin

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

[root@scm-dzm ~]# egrep '^root|^fedora|^user1' /etc/passwd |cut -d: -f 7

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

grep --color=auto '[[:alnum:]]\+()' /etc/rc.d/init.d/functions

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

    扩展:取出其路径名

    以下方式绝对路径为/etc/passwd/或者/etc/passwd均可

    [root@scm-dzm ~]# echo "/etc/passwd/" | egrep --color=auto -o  "[[:alnum:]]+" |tail -1
    [root@scm-dzm ~]# echo "/etc/passwd/" | egrep --color=auto -o  "^(/[[:alnum:]]+)+" |egrep --color=auto -o  "^/([[:alnum:]]+/)+"

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

[root@scm-dzm ~]# ifconfig |egrep --color=auto '\<[1-9][0-9]?\>|\<1[0-9]{2}\>|\<2[0-4][0-9]\>|\<25[0-5]\>'

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

[root@scm-dzm ~]# ifconfig |egrep --color=auto '(\<[0-9][0-9]?\>\.|\<1[0-9]{2}\>\.|\<2[0-4][0-9]\>\.|\<25[0-5]\>\.){3}(\<[0-9][0-9]?\>|\<1[0-9]{2}\>|\<2[0-4][0-9]\>|\<25[0-5]\>)'

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

[root@scm-dzm ~]# echo "dzm@126.com dzm@mfox.cn d@z lm@163.com dzm_1111@126.com" |egrep --color=auto -o '[[:alnum:]]+_?[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+'
dzm@126.com
dzm@mfox.cn
lm@163.com
dzm_1111@126.com

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

[root@scm-dzm ~]# find /var -user root -group mail -exec ls -ld {} \;  
drwxrwxr-x. 2 root mail 4096 Jul  5 11:34 /var/spool/mail
-rw-------. 1 root mail 626 Jun 23 15:21 /var/spool/mail/root

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

[root@scm-dzm home]# find / \( -nouser -o -nogroup \) -exec ls -ld {} \;
-rw-rw----. 1 507 mail 0 Jul  5 13:37 /var/spool/mail/user2
drwx------. 4 507 507 4096 Jul  5 13:37 /home/user2
-rw-r--r--. 1 507 507 18 Oct 16  2014 /home/user2/.bash_logout
drwxr-xr-x. 2 507 507 4096 Nov 12  2010 /home/user2/.gnome2
-rw-------. 1 507 507 31 Jul  5 13:37 /home/user2/.bash_history
-rw-r--r--. 1 507 507 124 Oct 16  2014 /home/user2/.bashrc
-rw-------. 1 507 507 605 Jul  5 13:37 /home/user2/.viminfo
-rw-r--r--. 1 507 507 176 Oct 16  2014 /home/user2/.bash_profile
drwxr-xr-x. 4 507 507 4096 Jun 23 22:33 /home/user2/.mozilla
drwxr-xr-x. 2 507 507 4096 Aug 18  2010 /home/user2/.mozilla/extensions
drwxr-xr-x. 2 507 507 4096 Aug 18  2010 /home/user2/.mozilla/plugins
-rw-rw-r--. 1 507 507 5 Jul  5 13:37 /home/user2/newfile.txt

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

     
[root@scm-dzm home]# find / \( -nouser -o -nogroup -a -atime -3 \) -exec ls -ld {} \;

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

[root@scm-dzm home]# find /etc/ \( -perm -222 \) -exec ls -ld {} \;

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

[root@scm-dzm home]# find /etc/ \( -size +1M -a -type f \) -exec ls -lh {} \; 
-rw-r--r--. 1 root root 2.2M Jun 23 22:57 /etc/gconf/gconf.xml.defaults/%gconf-tree.xml
-rw-r--r--. 1 root root 7.8M Jun 23 22:51 /etc/selinux/targeted/policy/policy.24
-rw-r--r--. 1 root root 7.8M Jun 23 22:51 /etc/selinux/targeted/modules/active/policy.kern

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

[root@scm-dzm home]# find /etc/init.d/ \( -perm -111 -a -perm -002 \)  -exec ls -l {} \;

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

[root@scm-dzm home]# find /usr/ -not \( -user root -o -user bin -o -user hadoop \) -exec ls -l {} \;

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

[root@scm-dzm testdir]# find ./ -not  -perm -222 -exec ls -l {} \;

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

[root@scm-dzm testdir]# find /etc/ 
-mtime -7 -not -user root -not -user hadoop

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

(0)
Net20_天意Net20_天意
上一篇 2016-07-07
下一篇 2016-07-07

相关推荐

  • LVM逻辑卷管理

    前言     通常情况下,在操作系统上新建了一个分区并在此分区创建文件系统后,该文件系统的大小就固定了。假如要增加此文件系统的大小,我们不得不添加一块硬盘并重新分区,创建文件系统,然后把原文件系统的数据完整复制过来。如果第二次分区时分配的空间太大,用不完又浪费该怎么办呢?重复此前的流程又将花费大量的时间,有没有更便捷的…

    Linux干货 2015-05-04
  • linux添加用户

    今天给大家说一下linux添加用户,大家可能觉得添加用户很简单,’adduser 用户名’就这个命令搞掂了。那么大家知道这个命令帮我们完成了那些事情呢,今天就给大家普及一下 添加一个linux用户需要关系到以下几个文件: 保存用户组的/etc/group文件。 保存用户ID和密码的/etc/passwd文件。 在home目录下生产一个…

    Linux干货 2017-05-28
  • One

    编译器好难用T_T

    Linux笔记 2018-06-26
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态 在线的主机使用绿色显示 不在线的主机使用红色显示 #!/bin/bash for i in {1..254};do if /bin/ping -W 1 -c 1 172.16.250.${i} >> /dev/…

    Linux干货 2017-08-20
  • HTTP详解(1)-工作原理

    1. HTTP简介          HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输…

    Linux干货 2015-04-04

评论列表(2条)

  • 马哥教育
    马哥教育 2016-07-07 11:21

    写的很好,排版也很棒,但是有的问题有点小瑕疵,在检查一下 加油

    • Net20_天意
      Net20_天意 2016-07-07 15:47

      @马哥教育又有瑕疵了。。。要想完美不容易呢