grep、find练习

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

[root@study ~]# cat /etc/passwd|grep -E "^(root|fedora|user1)"|cut -d: -f7
/bin/bash
/bin/bash
/bin/bash

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

 [root@study ~]# grep -E -o "\<[[:alpha:]]+\>\(\)" /etc/rc.d/init.d/functions
 checkpid()
 daemon()
 killproc()
 pidfileofproc()

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

[root@study ~]# echo "/etc/sysconfig/network-scripts/"|grep -o -E '[^/]+/?$'|cut -d/ -f1
network-scripts

扩展:取出其路径名

[root@study ~]# echo "/etc/sysconfig/network-scripts/"|grep -E '^/.*/$'
/etc/sysconfig/network-scripts/

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

[root@study ~]# ifconfig|grep -o -E '[1-9]|[1-9][0-9]|1[0-9]{1,2}|2[0-4][0-9]|25[0-5]'
167
77
73
6
……

5.写出一个模式,能匹配合理IP地址

[root@study ~]# ifconfig|grep -o -E '([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|2[0-4][0-9]|25[0-4])\.([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|2[0-4][0-9]|25[0-4])\.([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|2[0-4][0-9]|25[0-4])\.([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|2[0-4][0-9]|25[0-4])'
 192.168.235.128
 192.168.235.255

6.写一个模式,匹配邮件地址

[root@study ~]# grep -E -o "\<[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\>" mailadd 
141215@qq.com
2522nfsnf@163.com

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

[root@study var]# find /var/ -user root -group mail
/var/spool/mail

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

[root@study var]# find / -nouser -o -nogroup -a -atime 3

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

[root@study var]# find /etc/ -perm /020

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

[root@study var]# find /etc/ -size +1M -type f
/etc/udev/hwdb.bin
/etc/selinux/targeted/policy/policy.29

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

[root@study ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \)
/usr/share/polkit-1/rules.d

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

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

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

[root@study ~]# fing /etc/ -ctime 7 -a -not \( -user root -o -user hadoop \)

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

(0)
N24_小康N24_小康
上一篇 2016-11-27 12:23
下一篇 2016-11-27 16:04

相关推荐

  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@loalhost ~]# (umask 077; cp -r /etc/skel /home/user1) 2、编辑/etc/group文件,…

    Linux干货 2016-09-06
  • 新文章

    test 新的开始

    Linux干货 2016-12-08
  • iptables的DNAT、SNAT配置

    DNAT:目的地址转换。当外网主机访问内网的某台服务器的时候,如果直接暴露服务器的IP于公网,可能会遭受各种各样的攻击,而DNAT的主要作用就是在服务器前面添加一台防火墙。将防火墙的地址公布出去,让外网客户端通过访问防火墙的地址就可以访问到本地服务器。这样就起到了保护服务器的目的; SNAT:源地址转换。内网主机在访问互联网的时候所有源地址都转换为防火墙的外…

    2017-06-12
  • Dell R720 安装debian系统编译网卡驱动

    最近比较忙,视频也没怎么看,下面是之前工作中遇到的问题,事后做的记录,中间解决过程参考了网上的相关资料,现在一并贴出来。 需求:Dell R720 安装debian系统 环境 硬件:Dell R720  软件:系统有debian 7.0.0和debian 6.0.10 1. debian 7.0.0 : 集成了DELL PCRE H710 Mini…

    Linux干货 2015-08-04
  • Mariadb数据库复制系列(四):复制过滤器的实现

       实验四:复制过滤器的实现 复制过滤器的作用是让从节点仅复制主节点的指定的库,或指定数据库的指定表,而不是全部复制。其配置方式有两种,一种是在主节点上配置,通过定义主节点只记录部分库或表产生的二进制日志时间来实现;一种是通过从节点上配置,当复制了主节点的所有的二进制日志数据后,在SQL线程执行时,只执行指定的库或表相关的二进制日志时间;一般采取在从节点上…

    Linux干货 2016-11-24
  • 系统基础之shell脚本编程详解4(数组及字符串处理,变量赋值和配置文件)

    系统基础之shell脚本编程详解4(数组及字符串处理,变量赋值和配置文件)     今天来讲shell脚本编程的最后一些内容,数组及字符串处理,变量赋值和配置文件.这些内容也是我们经常在工作中使用到的知识点.下面让我们来详细了解下: 数组:   程序=指令+数据        &…

    Linux干货 2016-08-24

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:27

    整体完成的不错,不过可以对grep做一下知识的总结,正则还是需要多练习掌握的。