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

1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
[root@localhost ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf
2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
[root@localhost ~]# grep "^#[[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.sysinit
3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
[root@localhost ~]# netstat -tan |grep "LISTEN[[:space:]]\+"
4、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;
useradd bash
useradd testbash
useradd basher
useradd nologin -s /sbin/nologin
[root@localhost ~]# grep "^\([[: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:506:508::/home/bash:/bin/bash
nologin:x:509:511::/home/nologin:/sbin/nologin
5、显示当前系统上root、fedora或user1用户的默认shell;
[root@localhost ~]# grep "^root:" /etc/passwd|cut -d: -f 7
/bin/bash
6、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
[root@localhost ~]# grep "[[:alpha:]]\+()" /etc/rc.d/init.d/functions

blob.png

7、使用echo命令输出一个绝对路径,使用grep取出其基名;
  
正则方式
[root@localhost ~]# echo  /etc/rc.d/init.d/functions |grep -o "[^/]\+/\?$"
functions
[root@localhost ~]# echo  /etc/rc.d/init.d/functions/ |grep -o "[^/]\+/\?$"
functions/

扩展正则方式:
[root@localhost ~]# echo  /etc/rc.d/init.d/functions |grep -E -o "[^/]+/?$"
functions
[root@localhost ~]# echo  /etc/rc.d/init.d/functions/ |grep -E -o "[^/]+/?$"
functions/
  扩展:取出其路径名

8、找出ifconfig命令结果中的1-255之间数字;
[root@localhost ~]# ifconfig | grep -E '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>' 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:05:CC:1E  
          inet addr:192.168.1.212  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe05:cc1e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX bytes:1296514 (1.2 MiB)  TX bytes:793749 (775.1 KiB)
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1

blob.png

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

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

11、查找/var目录下属主为root,且属组为mail的所有文件或目录;
[root@localhost mail]# find /var -user root -group mail
/var/spool/mail
/var/spool/mail/root
12、查找当前系统上没有属主或属组的文件;
[root@localhost tmp]# find / -nouser -o -nogroup
     进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
[root@localhost tmp]# find / -nouser -o -nogroup -a -atime -3
13、查找/etc目录下所有用户都有写权限的文件;
[root@localhost ~]# find /etc -perm -222
14、查找/etc目录下大于1M,且类型为普通文件的所有文件;
[root@localhost ~]# find /etc -size +1M -type f
15、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;
[root@localhost init.d]# find /etc/init.d -perm -113
16、查找/usr目录下不属于root、bin或hadoop的文件;
[root@localhost init.d]# find /usr -not -user root -a -not -user bin -not -user hadoop
[root@localhost init.d]# find /usr -not \( -user root -o -user bin -o -user hadoop \)
17、查找/etc/目录下至少有一类用户没有写权限的文件;
[root@localhost init.d]# find /etc -not -perm -222
18、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
[root@localhost ~]# find /etc  -not \( -user root -o -user hadoop \) -a -ctime -7
/etc/1.txt
[root@localhost ~]# ll /etc/1.txt
-rw-r--r--. 1 ricky root 4 Jul  3 21:42 /etc/1.txt

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

(0)
song0156song0156
上一篇 2016-07-07
下一篇 2016-07-07

相关推荐

  • linux 下的文件压缩与解压

    文件压缩 压缩原理:把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。 目的:时间换空间,cpu时间–>空间 压缩文件工具:    compress|uncompress 压缩后的文件.z    gzip|gunzip  …

    Linux干货 2016-08-21
  • HA Cluster-主备模型(项目实战)

    主机环境:主机A和主机B使用的是CentOS7.2的系统:    主机A IP地址为:192.168.1.103     主机B IP地址为:192.168.1.106     向外界提供的服务的地址为:192.168.1.100配置过程:…

    Linux干货 2016-11-01
  • 权限管理

    权限管理 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 我们先来看看文件的属性: 权限: r:可获取文件数据(读取文件) w:可修改文件的数据(写入数据) x:可以把此文件提请内核启动为一个进程 (执行) 文件的权限主要针对三类对象进行定义:  owner: 属主, u  grou…

    Linux干货 2016-08-05
  • vim文本编辑器之快捷键满天飞

    vim文本编辑器不同于nano的是其功能非常强大,强大的功能还支持各种快捷键,让我们编辑文本的时候更方便更快捷。 本文将会按照下图所展示的功能来对命令一一讲解,           打开文件:       &n…

    Linux干货 2016-08-11
  • Python线程指南

    本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。 注意:本文基于Python2.4完成,;如果看到不明白的词汇请记得百度谷歌或维基,whatever。 尊重作者的劳动,转载请注明作者及原文地址 >.< 1. 线程基础 1.1. 线程状态 线程有5种状态,状态转换的过程如…

    2015-03-13
  • shell脚本参数练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登陆shell(即用户的shell不是/sbin/nologin),分别这两类用户的个数;通过字符串比较来实现; !/bin/bash # login_user=0 nologin_user=0 for i in $(cat /etc/passwd | cut -d : -f 7);do if [ $…

    2017-09-17

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-27 09:21

    写的很好,可以挑战一下挑战题的