grep命令与正则表达式的应用示例、find命令应用示例

grep命令与正则表达式的应用示例、find命令应用示例

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

    使用扩展正则表达式,它支持使用A|B表示或者之意。查看用户的默认shell,cat /etc/passwd文件,根据用户名所处位置进行锚定,其最后一个字段即表示该用户的默认shell。实现方式及结果如下:

grep命令与正则表达式的应用示例、find命令应用示例
grep命令与正则表达式的应用示例、find命令应用示例  

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

    这里需要注意的是小括号因为和正则表达式的元字符相冲突,如果直接写()会有歧义,因此需要对小括号进行转义:()。具体结果如下所示:

grep命令与正则表达式的应用示例、find命令应用示例  

  • 使用echo命令输出一个绝对路径,使用grep分别取出其基名。
    取出基名:

grep命令与正则表达式的应用示例、find命令应用示例  

  • 找出ifconfig命令结果中的1-255之间的数字。
    1-255之间的数字,如果按照如下方式分解:
    一位数:1-9
    二位数:10-99
    三位数:100-199,200-255
    使用正则表达式可以这样匹配:

grep命令与正则表达式的应用示例、find命令应用示例  

  • 写一个模式能匹配合理的IP地址。
    要匹配出合理的IP地址,个人理解还需要结合子网掩码来判断,如果是要匹配出ifconfig中合理的ip地址,可以使用如下模式进行匹配:

grep命令与正则表达式的应用示例、find命令应用示例  

  • 写一个模式能匹配出所有的邮件地址。

grep命令与正则表达式的应用示例、find命令应用示例  

  • 查找/var目录下属主为root且属组为mail的所有文件或目录。
    find使用-user选项指定属主,使用-group选项指定属组。结果如下:

grep命令与正则表达式的应用示例、find命令应用示例  

  • 查找当前系统上没有属主或属组的文件,且最近3天内曾被访问过的文件或目录。    
    find使用-nouser选项指定查找没有属主的文件;使用 -nogroup选项查找没有属组的文件;使用 -atime选项指定按文件的最后访问时间查找。结果如下:

grep命令与正则表达式的应用示例、find命令应用示例
grep命令与正则表达式的应用示例、find命令应用示例  

  • 查找/etc目录下所有用户都有写权限的文件。
    find使用-perm选项可以根据文件权限进行查找,常用的有为两种使用方式,一种是-perm /mode,表示任何一类用户中的任何一位权限满足条件即可;一种是-perm -mode,表示每一类用户中的每一位权限满足条件才行。这里要求的是所有用户都有写权限,因此应该使用-perm -mode这种方式。
    结果如下:

grep命令与正则表达式的应用示例、find命令应用示例
也可以使用find /etc -perm -a+w

  • 查找/etc目录下大于1M,且类型为普通文件的所有文件。
    find使用-size选项可以根据文件的大小进行查找,常用的有两种使用方式,一种是-size +#unit (unit表示数字单位,有K,M,G),表示查找大于指定大小的文件;一种是-size -#unit,表示查找小于指定大小的文件。
    结果如下:

grep命令与正则表达式的应用示例、find命令应用示例  

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

grep命令与正则表达式的应用示例、find命令应用示例  

  • 查找/usr目录下不属于root,bin或hadoop的文件。find支持使用操作符-a(相当于and),-o(相当于or),在这里使用-o操作符。!表示取反,类似于-not。

grep命令与正则表达式的应用示例、find命令应用示例  

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

grep命令与正则表达式的应用示例、find命令应用示例  

  • 查找/etc目录下最近一周内其内容被修改过且不属于root或hadoop的文件。
    括号要使用转义符,“-7”表示在7天内。
    > [root@localhost etc]# find /etc -mtime -7 ! \( -user root -o -user hadoop \)

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

(0)
N24_lantianN24_lantian
上一篇 2016-11-28
下一篇 2016-11-28

相关推荐

  • SSH——安全的通信

    SSH ·ssh:secure shell, protocol, 22/tcp,  安全的远程登录 ·OpenSSH:ssh协议的开源实现 ·dropbear:另一个开源实现 ·SSH协议版本:          v1:基于CRC-32做MAC,不安全;man-in-m…

    Linux干货 2016-09-25
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存 至/tmp/maxusers.txt文件中。 5、取出当前主机…

    Linux干货 2016-11-21
  • bash脚本编程之select语法详解

    shell编程之select select控制结构(在tcsh中不可用)基于Korn Shell中的控制结构 select语句首先显示一个菜单,然后根据用户的选择给变量赋予相应的值,最后执行一系列命令 其语法如下: select varname in list do commands done select 表达式是一种bash的扩展应用,动作包括: 自动用…

    Linux干货 2016-08-24
  • 第一周-Linux Basic

        本文主要介绍了计算机的组成及功能、Linux的发行版、Linux哲学思想、一些基本命令、命令帮助的获取、文件系统层级结构标准。 一、计算机的组成及功能     计算机由硬件和软件两大类组成     硬件   &n…

    Linux干货 2016-11-28
  • RPM与YUM命令异同详解

    RPM和YUM都是用来安装程序的工具,但是它们有太多相似的用法以至于有事很难分清应该哪个那就来一起详细的了解一下他们的功能及用法,以及他们的相同以及不同之处。 RPM 软件包管理器功能:安装,卸载,升级,查询,校验,打包,数据库管理RPM在安装时不能处理程序之间复杂的依赖关系RPM可以验证软件包来源的合法性、完整性。常用选项: -i:表示安装。(常用:-iv…

    2017-06-18
  • http

    练习:分别使用CentOS 7和CentOS 6实现以下任务 一、配置三个基于名称的虚拟主机          (a) discuzX          (b) wordpress  &nb…

    Linux干货 2016-10-09

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-07 23:07

    作业写的很棒,有图有真相