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

相关推荐

  • Linux启动之GRUB详解

    GRUB 在BIOS读取先关信息之后,接下来就是去第一个可以启动的设备当中的MBR中读取Boot loader信息,bootloader具有菜单功能、直接加载内核信息,以及相关控制权限转交功能。所以说系统的启动必须有bootloader,然后才能去加载内核 grub:GRand Unified Bootloader  …

    Linux干货 2016-09-15
  • 搭建yum仓库的FTP服务器

    搭建centos7ftp服务

    2017-12-02
  • RAID各级别特性介绍

        RAID全称为独立磁盘冗余阵列(Redundant Array of Independent Disks):基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、 容量巨大的硬盘。     RAID通常被用在服务器电脑上,使用完全相…

    Linux干货 2016-06-22
  • sed工具 介绍

    sed工具 地址定界 不给地址:对全文进行处理 单地址: #:指定行 /pattern/:被此处模式所能够匹配到的每一行 地址范围: #,# #,+# /pat1/,/pat2/ #,/pat1/ ~:步进 1~2 奇树行 2~2 偶数行 cat -n passwd >passwd2 新建文件 sep -n ‘/^h//^s/’…

    Linux干货 2017-05-31
  • Linux终端类型介绍

    相关命令:tty 适合阅读人群:所有   终端机 终端(Computer terminal),是一台电子计算机或者计算机系统,用来让用户输入数据,及显示其计算结果的机器。又名终端机,它与一部独立的电脑不同,其实就是一种输入输出设备,一台电脑多人使用,每增加一个用户只须增加一台显示器和一套键盘鼠标就可以成为一个独立的终端,多用户可同时使用互相独立,跟…

    Linux干货 2016-10-14
  • shell进阶之循环

    循环执行,将某代码段重复运行多次

    重复运行多少次:

    循环次数事先已知

    循环次数事先未知

    有进入条件和退出条件

    for, while, until

    Linux干货 2017-12-24

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:27

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