第五周博客作业

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

[root@localhost ~]# grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f1,7
root:/bin/bash
fedora:/bin/bash
user1:/bin/bash

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

[root@localhost ~]# grep -E "[_[:alnum:]]+\(\)" /etc/rc.d/init.d/functions

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

取出基名:
[root@localhost ~]# echo "/etc/rc.d/init.d/functions" | grep -E  -o "[^/]+/?$"
functions
取出路径名:
[root@localhost ~]# echo "/etc/rc.d/init.d/functions" | grep  -o "^.*/"
/etc/rc.d/init.d/

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

[root@localhost ~]# ifconfig | grep -E "\<([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|2[0-5][0-5])\>"

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

[root@localhost tmp]# ifconfig | grep -E -o "\<((1?[0-9][0-9]?|2[0-4][0-9]|25[0-4])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-4])\>"
192.168.0.129
127.0.0.1

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

[root@localhost tmp]# cat mail
1234@qq.com
63737erijrji@yahoo.com.cn
989898#$@hotmail.com
ffd893@abc.org.cn
qq112qq112qq112qq112qq112qq112qq112qq112qq112qq112qq112qq112
[root@localhost tmp]# grep -E "[^[:space:]].*@[^[:space:]].*" mail
1234@qq.com
63737erijrji@yahoo.com.cn
989898#$@hotmail.com
ffd893@abc.org.cn

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

[root@localhost ~]# find /var -user root -a -group mail -ls
50331800    4 drwxrwxr-x   2 root     mail         4096 Dec 20 03:57 /var/spool/mail

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

[root@localhost ~]# find / \( -nouser -o -nogroup \) -type f

最近3天内曾被访问过的文件或目录

[root@localhost ~]# find / \( -nouser -o -nogroup \) -atime -3

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

[root@localhost ~]# find /etc -perm -222 -ls

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

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

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

[root@localhost ~]# find /etc/init.d/ -perm -111 -a -perm -002

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

[root@localhost ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
135247738    0 drwx------   2 polkitd  root           65 Nov  8 09:13 /usr/share/polkit-1/rules.d
2125565   16 -rwsr-sr-x   1 abrt     abrt        15336 Dec  1  2015 /usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

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

[root@localhost ~]# find /etc -not -perm -222

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

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

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

(0)
N25_PierceN25_Pierce
上一篇 2017-01-06
下一篇 2017-01-07

相关推荐

  • 20161019第5天作业

    1、只显示/root下的隐藏文件 ls -d '.'* 2、只显示/etc下的目录 ls -d */ ls -l |grep '^d' ls -F | grep "/$"  &nb…

    Linux干货 2016-10-20
  • 用keepalived高可用LVS-dr模型

    环境四个虚拟机 Real server:node1:172.16.100.6         CeotOS 6 Real server:node3:172.16.100.69         CeotOS 7 Director1:172.16.100.67                        CeotOS 7 Director1:172.16.10…

    Linux干货 2017-10-15
  • 学会在命令行中获取帮助

    在命令行中获取帮助是学习Linux必须get的一项技能,学会之后受益多多。  Linux中的命令有内部命令和外部命令之分,通常使用 type 命令来区分 除此之外还可以使用 enable 命令来查看内部命令 enable命令后的许多option可以对这些内部命令了解更多,比如: 想要知道内部命令有多少个 enable -a |wc -l 禁用某个内…

    2017-07-15
  • haproxy实现rabbitmq负载均衡

    RabbitMQ简介: 1、是实现AMQP(高级消息队列协议)的消息中间件的一种。2、主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。 一般提到 RabbitMQ 和消息,都会用到以下一些专有名词:(1)生产(Producing)意思就是发送。发送消息的程序就是一个生产者(produce…

    Linux干货 2017-06-29
  • linux文件系统

    linux的文件系统:             根文件系统为rootfs(root file system)           &nbsp…

    Linux干货 2015-12-19

评论列表(1条)

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

    写的很好,排版也很棒,继续加油保持