马哥教育网络班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 10:48
下一篇 2016-07-07 10:48

相关推荐

  • 压缩解压缩 tar 主要掌握

    compress [-dfvcVr] [-b maxbits] [file …] -d: 解压缩,相当于 -c: 结果输出至标准输出,不删除原文件 单纯-c 会出乱码 所以 > .. -v: 显示详情 uncompress解压缩 zcat file.Z > file  ##没人用  因为压缩比不高  …

    Linux干货 2016-08-21
  • 用户和组相关配置文件

    1. /etc/passwd文件详解 输入vi /etc/passwd 可以查看此文件的内容 [root@localhost ~]# vi /etc/passwdroot:x:0:0:root:/root:/bin/bash root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/…

    Linux干货 2016-10-23
  • 马哥教育网络班22期第一周课程练习2-未闻花名

    语法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。 参数: -f 代表[变量名称]中为函数名称。 -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。 -p…

    Linux干货 2016-08-15
  • AWK

    awk:报告生成器,格式化文本输出         处理方式:文件里有多行,awk处理时,先将第一行放到内存里面,然后将该行分割成列(字段),第一个字段叫$1,第二个字段$2,以此类推,$0代表整行。        &n…

    Linux干货 2016-09-26
  • ​文本编辑器nano

    新建/打开文件     nano 路径+文件名,文件存在则为打开,否则新建;(未输入文件名,编辑完成后,保存退出会提示输入文件名); nano     note:nano中,黑底白字表示快捷键操作。其中“^”表示Ctrl键,则Ctrl+G就表示成“^G”。“M”表示 Alt键,则Alt+W表示为“M…

    Linux干货 2016-05-05
  • Linux的学习之路-第一周

    >N21-Keen-第一周作业 ### 1. 计算机的组成及其原理     >计算机的组成是根据冯诺依曼体系设计的,主要分为五大部分:控制器、运算器、存储器、输入设备和输出设备。          >其中控制器和运算器分布在CPU上,主要用来做控制和运算作用。存储器也就是…

    Linux干货 2016-07-16

评论列表(2条)

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

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

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

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