网络N22期-第五周作业

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

[root@localhost ~]#egrep '^(root|fedora|user1)\>' /etc/passwd | cut -d: -f7
/bin/bash

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

[root@localhost ~]# grep "\<[[:alpha:]]\+\>()" /etc/rc.d/init.d/functions

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

    扩展:取出其路径名

取基名
[root@localhost ~]# echo "/tmp/test/name" | grep -o "[^/]\+\/\?$"
name
取路径名
[root@localhost ~]# echo "/tmp/test/name" | grep -o ".*\/"
/tmp/test/

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

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

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

[root@localhost ~]# ifconfig | egrep -o "[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}"

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

egrep -o "^[[:alnum:]]+\_*[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+"

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

[root@localhost ~]# find /var -user root -group mail

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

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

[root@localhost ~]# find / -nouser -o -nogroup 
[root@localhost ~]# find / -nouser -o -nogroup -a -atime +3

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

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

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

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

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

[root@localhost ~]# find /etc/init.d/ -perm /003

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

[root@localhost ~]#find /usr/ ! -user root -a ! -user bin -a ! -user hadoo

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

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

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

[root@localhost ~]#find /etc/ -mtime -7 -a ! -user root -a ! -user hadoop

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

(0)
haoqiqiuzhihaoqiqiuzhi
上一篇 2016-09-15 22:21
下一篇 2016-09-15 22:21

相关推荐

  • ELK+RabbitMQ架构处理nginx及tomcat日志

    前言       查看日志的传统方法是:登录操作系统,使用命令工具如cat、tail、sed、awk、grep等等进行过滤输出后分析,处理少量日志还好,日志量大处理效率就没那么高了。而且很多情况下开发人员需要查看并分析日志进行排错,但他们对Linux命令又不是太熟悉,而且有时候又不能赋予他们服务器权限,更多时…

    Linux干货 2016-08-02
  • 第十周练习-脚本部分

    1、写一个脚本 (1) 能接受四个参数:start, stop, restart, status start: 输出“starting 脚本名 finished.” … (2) 其它任意参数,均报错退出; #!/bin/bash # case $1 in start)     echo&…

    Linux干货 2016-12-31
  • while循环中的一个常见问题

    在楼主刚刚学习接触while循环的时候,发现了一个问题,在while循环内部对变量赋值、定义变量、数组定义等等环境,在循环外面失效。 一个简单的测试脚本如下: 执行结果证明,$new_var的结果是空值。在google上查了查,才发现问题出在管道上。 先看看下面的内容。 while循环的写法有好几种,它的语法结构为: while test_cmd_list;…

    2017-08-26
  • MYSQL数据库基础教程

    一、数据库介绍 1.数据库管理系统的产生背景 (1)数据时代的到来要求对数据进行有效和安全的管理 涉及的数据量大 数据不随程序的结束而消失 数据被多个应用程序共享 大数据时代的到来 (2)传统文件系统管理上的缺陷要求改变数据管理方式 编写应用程序不方便 数据冗余不可避免 应用程序依赖性 不支持对文件的并发访问 数据间联系弱 难以按用户视图表示数据 无安全控制…

    Linux干货 2017-10-05
  • bash脚本编程之流程控制if、for、while、until简介

    概述     之前介绍了一些bash脚本编程的变量、运算、条件测试的一些基础内容,了解了脚本实际上就是一些语句加上一些流程控制组合起来,实现某种功能的可执行文件。我们知道,条件测试的目的,实际就是为了实现一种流程的控制,那么本篇就简单介绍一下bash里面常见的流程控制语句,包括选择、循环等内容,具体包括以下几个部分: …

    Linux干货 2016-08-18
  • 初识正则表达式

    正则表达式是个什么东东? 正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。在很多文本编辑器里、命令中,通常要使用检索、替换、放行和拒绝那些符合某个模式的文本。而正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。  摘自《正则表达式之…

    Linux干货 2015-03-27

评论列表(1条)

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

    匹配ip地址的不对,