马哥教育网络班21期-第5周课程练习

5周课程练习

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

# grep "^[[:space:]]\+" /boot/grub/grub.conf

blob.png

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

# egrep "^#[[:space:]]{1,}[^[:space:]]{1,}" /etc/rc.d/rc.sysinit

blob.png

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

# netstat -tan | grep "LISTEN\+[[:space:]]\{1,\}$"

blob.png

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

# useradd bash

#useradd testbash

#useradd basher

#useradd -s /sbin/nologin nologin

# grep "^\([[:alpha:]]\+\>\).*\1$" /etc/passwd

blob.png

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

# useradd fedora

# useradd user1

# egrep "(^root|^fedora|^user1)" /etc/passwd | cut -d':' -f1,7

blob.png  

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

# grep –color=auto "[[:alpha:]]\+()" /etc/rc.d/init.d/functions

blob.png

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

扩展:取出其路径名

# echo "/etc/rc.d/init.d/functions" | grep -E -o "[^/]+/?$"

# echo "/etc/rc.d/init.d/functions" | grep -o -E "(/.*/)"

blob.png

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

# ifconfig | grep -Eo –color=auto '\<[0-9]\>|\<[1-9][0-9]\>|\<1[0-9][0-9]\>|\<2[0-4][0-9]\>|\<25[0-5]\>'

blob.png

blob.png

blob.png

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

ifconfig | grep -E  "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"

blob.png

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

grep -E  "^([a-zA-Z0-9_\-\.\+]+)@([a-zA-Z0-9_\-\.\+]+)\.([a-zA-Z]{2,5})$" mail.txt

blob.png

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

find /var -user root -a -group mail –ls

blob.png

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

find / -nouser -o –nogroup

blob.png

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

   find / \( -nouser -o -nogroup \) -a -atime -3

   blob.png

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

find /etc -perm -222 -ls

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

find /etc -size +1M -a -type f –ls

blob.png

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

find /etc/init.d -perm -113 –ls

blob.png

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

find /usr \( -not -user root -a -not -user bin -a -not -user hadoop \)

blob.png

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

find /etc/ -not -perm -222 –ls

 

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

find /etc/ -mtime -7 -a -not -user root -a -not -user Hadoop  或者

find /etc/ -mtime -7 -a -not \( -user root -o -user hadoop \)

原创文章,作者:N21_我爱罗,如若转载,请注明出处:http://www.178linux.com/27087

(0)
N21_我爱罗N21_我爱罗
上一篇 2016-08-02 10:58
下一篇 2016-08-02 10:58

相关推荐

  • 周期性计划任务Cron详解

    概述 cron 是Linux 或者类 Unix 系统的作业调度程序。利用它,我们可以配置某些命令或者脚本,让命令和脚本在某个设定的时间内周期性地运行。本文主要以描述了 CentOS 6的cron命令的详细知识。 了解cron组件 cron程序由程序包cronie提供,我们可以通过rpm -qi cronie查看cronie的信息。 cron 的组件包括: 1…

    Linux干货 2016-09-18
  • shell脚本基础练习2

    1.编写一个脚本/root/bin/createuser.sh,脚本的执行语法必须是:createuser.sh -username -m password,选项与参数间可支持多空格,但不能顺序颠倒。当未指定正确的选项或参数时,以错误输出方式提示“createuser.sh -u username -m password ”后退出脚本。用…

    2017-08-12
  • Linux正则表达式及文件查找

    1、显示当前系统上root、fedora或者user1用户的默认shell. #   grep  -E   “^(root|fedora|user1)”   /etc/passwd | cut -d: -f1,7     2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,…

    2017-10-22
  • 推荐-LVS专题: LVS的工作模型和调度算法介绍

    LVS专题: LVS的工作模型和调度算法介绍 LVS专题: LVS的工作模型和调度算法介绍 前言 什么是负载均衡? 什么是LVS? LVS的架构: LVS的实现模型: NAT实现原理: DR实现原理: TUN实现原理: FULLNAT实现原理: LVS的调度算法 静态调度算法(4种) 动态调度算法(6种): 总结 前言 本文大概介绍一下LVS的工作方式和实现…

    Linux干货 2016-04-05
  • linux文件权限管理和用户,组管理常用命令应用实例

    用户和组概念简述 用户一般指使用计算机的人,GNU/linux通过用户和用户组实现对计算机的文件访问和设备使用控制。 用户分类1.管理员root(类似皇帝,权力最大)2.普通用户:分为系统用户和普通登录用户。系统用户不登录,常用于发起一些进程提供服务,防止进程被劫持带来的风险,所以尽量减少以root身份发起进程对外提供服务。3.用户标识UID。管理员的UID…

    2017-10-05
  • 17周博客作业 LVS+nginx+php(nginx与php分离)

    1、结合图形描述LVS的工作原理; LVS是一种用软件实现的LB集群; 作用于传输层; LVS工作原理:通过Director调度把用户请求按照分配算法分配给后端的Real server,然后由后端Real server响应客户请求; lvs模式分为三种。 lvs-nat: 多目标的DNAT:通过将请求报文的目标地址和目标端口修改为挑选出某…

    Linux干货 2016-11-07

评论列表(1条)

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

    写的很好,排版还可以在漂亮一点,加油,有一些匹配规则可以简化的