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

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

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

 

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

grep "^#[[: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相同的用户的信息;

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

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

awk -F: '/^(root|fedora|user1)\>/{print $1,$7}' /etc/passwd

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

grep "^.*[[:alpha:]]()" /etc/rc.d/init.d/functions

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

    扩展:取出其路径名

[root@localhost ~]# echo "/etc/pass/sha/" | grep -o "[^/]*[/]$"
sha/

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

ifconfig | egrep -o "[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-5]"

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

ifconfig | egrep -o "(([0-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"

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

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

[root@localhost tmp]# find /var -user root -a -group mail -ls

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

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

[root@localhost ~]# find ! -type d \( -nouser -o -nogroup \) -ls
[root@localhost ~]# find ! -type d \( -nouser -o -nogroup \) -atime -3 -ls

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

[root@localhost etc]# find /etc ! -type d -perm -222 -ls

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

[root@localhost etc]# find /etc -type f -size +1M -ls

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

[root@localhost etc]# find /etc/init.d/ \( ! -type d \)  -perm -113 -ls

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

[root@localhost ~]# find /usr \( ! -type d \) ! \( -user root -o -user bin -o -user hadoop \) -ls

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

[root@localhost ~]# find /etc/ \( ! -type d \) ! -perm -222 -ls

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

[root@localhost ~]# find /etc/ \( ! -type d \) -mtime -7 -a ! \( -user root -o -user hadoop \) -ls

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

(0)
mouse015110mouse015110
上一篇 2016-07-12 11:21
下一篇 2016-07-12 11:21

相关推荐

  • 复制多台虚拟机及简单的网络配置

    虚拟机的复制,网络地址的简单配置,图形化界面setup和system-config-network的使用

    2017-09-09
  • redis主/从配置及基于sentinel的故障转移

     一、NoSQL基础概念: ACID:原子性、一致性、隔离性、持久性;特性:数据量大、数据变化非常大(数据增长化、流量分布变化、数据间耦合结构变化)、数据源很多; CAP、BASECAP C:多个数据节点的的数据一致;A:用户发出请求后的有限时间范围内返回结果;P:network partition,网络发生分区后,服务是否依可用;CAP理论:一个分布式系统…

    Linux干货 2017-12-18
  • Puppet基于Master/Agent模式实现LNMP平台部署

    前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的、繁琐的工作利用自动化处理。前期我们介绍了运维自动化工具ansible的简单应用,本期带来的是运维自动化神器puppet基于Master/Agent模式实现LNMP平台部署。 Puppet 简介 Puppet是基于ruby语言开发的一种L…

    Linux干货 2015-07-13
  • Linux基础学习总结(一)

    一、计算机的组成与功能 二、Linux的版本 三、Linux的哲学思想 四、Linux基础命令(一) 五、Linux帮助信息 六、Linux目录结构

    Linux干货 2016-09-20
  • Linux的终端类型

    Linux的终端类型       终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备,linux终端大致有设备终端,物理终端、虚拟终端、图形终端、串行终端、伪终端等。 一.设备终端   设备终端的是一些看的见摸得着的一些实物,比如鼠标、键盘、显示器、打印机等之类的实物。 二.…

    Linux干货 2016-10-14
  • shell中的位置参数变量

    要了解位置变量,首先要知道什么是变量?  变量就是让某一个特定的字符串来代表不固定的内容,简单理解就是用一个简单的“字眼”来替代另一个比较复杂或者容易变动的数据。 而什么又是位置变量呢?  位置变量就是bash将传递给脚本的参数,按照位置不同,保存在不同的位置变量中,以便于脚本调用这些变量。 位置参数变量: $1, $2, ……

    Linux干货 2016-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 13:38

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