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

相关推荐

  • 浅谈Nginx(二)—http下server配置

    浅谈Nginx(二)—http下server配置 此文介绍Nginx下的http模块,着重介绍http模块下的server服务 ——–依据”马哥教育”主讲人马永亮导师的上课笔记整理——- 目录  一. http相关的基本配置:     1)…

    系统运维 2017-02-07
  • Linux文件管理初步(第二周)

    第二周作业 1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 目录管理管理类命令 mkdir make directories mkdir [OPTION]… DIRECTORY… 注意:路径基名作为命令的作用对象时,基名之前的路径必须要存在;     -p:自动按…

    Linux干货 2016-09-05
  • mysql备份与恢复

    1、mysqldump进行mysqll数据库的备份与还原 命令说明: Schema和数据存储一起、巨大的SQL语句、单个巨大的备份文件 mysqldump: 客户端,通过mysql协议连接至mysqld; mysqldump [options] [db_name [tbl_name …]] shell> mysqldump [options] db…

    Linux干货 2017-03-27
  • Linux系统管理基础

        一、Linux系统初识             1、用户界面           &nbsp…

    Linux干货 2015-04-14
  • Systemd——CentOS7的init

    Systemd:     POST –> Boot Sequeue(BIOS) –> Bootloader(MBR) –> kernel(ramdisk) –> rootfs –> /sbin/init init:   &nbsp…

    Linux干货 2016-09-20
  • 系统启动流程

    CentOS 5和6的启动流程服务管理Grub管理自制Linux启动排错编译安装内核 系统启动流程:  POST –> 读取BootSequence (BIOS),决定引导次序 –>读取引导设备的Bootloader(MBR grubstage1–>stage1.5/boot…

    Linux干货 2016-09-13

评论列表(1条)

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

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