N25第五周作业

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

]# grep -E '^[[:space:]]+.*' /boot/grub/grub.conf

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

]# grep -E '^#[[:space:]]+[^[:space:]]+' /etc/rc.d/rc.sysinit

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

]# netstat -nat | grep -E '.*LISTEN[[:space:]]*'

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

]# grep -E '^(.*)\>.*\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:4007:4007::/home/bash:/bin/bash
nologin:x:4010:4015::/home/nologin:/sbin/nologin

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

]# grep -e ^root -e ^fedora -e ^user1 /etc/passwd | cut -d':' -f1,7
root:/bin/bash
user1:/bin/bash
fedora:/bin/bash

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

]# grep -E '\<[[:alpha:]]*\>\(\)' /etc/rc.d/init.d/functions

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

]# echo /etc/sysconfig/network-scripts/ifcfg-eth0 | grep -Eo '[^/]*/?$'
ifcfg-eth0

    扩展:取出其路径名

]# echo /etc/sysconfig/network-scripts/ifcfg-eth0 | grep -oP '/.*/(?=.?\b)'
/etc/sysconfig/network-scripts/

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

ifconfig | grep -E '\<([0-9]|([0-9][0-9])|(1[0-9][0-9])|(2[1-4][0-9])|(25[1-5]))\>'

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

]# ifconfig | grep -A 2 eth0 | grep -Eo '([0-9]{1,3}\.?){4}' | grep -v 255
172.20.51.128

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

]# grep -o '[[:alnum:]_.]*@[[:alnum:].]*'

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

]# find /var -user root -a -group mail
/var/spool/mail
/var/spool/mail/root

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

]# find / -nouser -o -nogroup -type f
/var/spool/mail/mandriva
find: “/proc/10154/task/10154/fd/5”: 没有那个文件或目录
find: “/proc/10154/task/10154/fd/5”: 没有那个文件或目录
find: “/proc/10154/task/10154/fdinfo/5”: 没有那个文件或目录
find: “/proc/10154/task/10154/fdinfo/5”: 没有那个文件或目录
find: “/proc/10154/fd/5”: 没有那个文件或目录
find: “/proc/10154/fd/5”: 没有那个文件或目录
find: “/proc/10154/fdinfo/5”: 没有那个文件或目录
find: “/proc/10154/fdinfo/5”: 没有那个文件或目录
/home/mandriva
/home/mandriva/.bash_logout
/home/mandriva/.bash_profile
/home/mandriva/.bashrc
/home/mandriva/.gnome2

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

]# find / -type f -a -atime -3 -a \( -nouser -o -nogroup \)

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

]# find /etc -perm -222

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

]# find /etc -size +1M -a -type f | xargs ls -lh
-rw-r--r--. 1 root root 7.0M 11月 21 17:22 /etc/selinux/targeted/modules/active/policy.kern
-rw-r--r--. 1 root root 7.0M 11月 21 17:22 /etc/selinux/targeted/policy/policy.24

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

[root@director ~]# touch /etc/init.d/test.txt
[root@director ~]# chmod 113 /etc/init.d/test.txt
[root@director ~]# find /etc/init.d/ -perm 
[root@director ~]# find /etc/init.d/ -perm -113 | xargs ls -lh
---x--x-wx 1 root root 0 12月 30 03:59 /etc/init.d/test.txt

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

[root@director ~]# find /usr/ ! \( -user root -o -user bin -o -user hadoop \) -a -type f

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

]# find /etc/ ! -perm -222 -a -type f

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

]# find /etc/ -mtime -7 -a ! \( -user root -o -user hadoop \) -a -type f

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

(0)
N25_NvaN25_Nva
上一篇 2017-01-08
下一篇 2017-01-09

相关推荐

  • DNS从入门到管理(一)

    DNS从入门到管理(一) DNS概念 DNS三步法 反向解析 主从DNS服务器的实现 子域授权 智能DNS 压力测试与DNS排错 DNS概述 DNS(Domain NameSystem,域名系统),域名和IP地址相互映射的一个分布式数据库,通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。而DNS的主要作用,就是域名解析,将主机名解析成IP地址。…

    Linux干货 2016-10-06
  • N23-第四周博客作业

    1、复制 /etc/skel 目录为 /home/tuser1,要求 /home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/tuser1 && chmod -R g-r,o-r /home/tuser1 (1)使用cp命令的-r选项,将/e…

    Linux干货 2016-12-05
  • 2016-08-18博客作业

    case 语句 条件判断语句 case 用 变量引用 in PAT1) 分支1 ;; PAT2) 分支2 ;; … *) 默认分支 ;; esac   case 支持glob 风格的通配符: *       任意长度任意字符 ?    &…

    Linux干货 2016-09-19
  • CentOS启动流程及Shell脚本编程练习

    一、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 第一步:POST加电自检 主要实现的功能是检测各个外围硬件设备是否存在而且能够正常运行起来,实现这一自检功能的是固化在主板上的ROM(主要代表为CMOS)芯片上的BIOS(Basic Input/Output System)程序。 第二步:Boot Sequence(选择启动设备以加…

    2017-11-26
  • linux的终端类型

    Linux系统的终端类型    Linux系统的终端主要包括控制台终端、控制终端、串口终端、伪终端、虚拟终端。                 1.  控制台终端(/dev/console)。    在Unix系统中,计…

    Linux干货 2016-10-19
  • python快速入门之数据类型

        Python 是 90 年代初由 Guido Van Rossum 为了打发圣诞节而创建的语言。如今它已是当前最流行的程序语言之一.     Python的关键要素有以下几点:1.基本数据类型;2.对象引用;3.组合数据类型;4.逻辑操作符;5.控制流语句;6.算数操作符…

    Python干货 2015-12-10

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-17 10:31

    写的很好,你的ip地址匹配是不是可以匹配到999.999.999.999?