week5:grep命令和find命令的应用

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

 ~]# grep -E "^(root|fedora|user1):" /etc/passwd|cut -d/ -f4

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

 ~]# grep -E -o "\<[[:alnum:]]+\>\(\)" /etc/rc.d/init.d/functions

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

   ~]# echo "/etc/rc.d/init.d/functions" |grep -E -o "[^/]+/?$" 

  扩展:取出其路径名   

   ~]# echo "/etc/rc.d/init.d/functions" |grep -E -o "^\/.*\/" 

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

   ~]# ifconfig | grep -E -o "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"

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

   ~]#ifconfig|grep –E –o "\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>.\<([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>"

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

   ~]# grep -E -o '\<[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+\>'

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

   ~]# find /var/ -user root -a -group mail

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

   ~]#find / -nouser -o -nogroup 

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

   ~]# find /  -nouser -o -nogroup  -a -atime 3

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

   ~]# find /etc/ -perm +222

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

   ~]# find /etc/ -type f -a -size +1M

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

   ~]# find /etc/init.d/ -perm -111 -a -perm -002 –ls

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

   ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \)

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

 ~]# find /etc/ -perm -222

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

 ~]# find /etc/ -mtime 7 -type f -not -user root -o -not -user hadoop

原创文章,作者:N24_云淡风轻,如若转载,请注明出处:http://www.178linux.com/61312

(0)
N24_云淡风轻N24_云淡风轻
上一篇 2016-11-28 18:01
下一篇 2016-11-28 20:04

相关推荐

  • 任务计划和本地系统的默认邮件

    一、前言 二、本地mail的使用方法 三、at /batch 四、cron 五、小结   一、前言 linux 中执行任务计划有三种命令:at ,batch ,cron.其中,at,batch 是一次性执行,而crontab,则是周期性执行; 作业执行完成后,会通过邮件通知给作业提交者;因此,以下就从邮件说起。 二、邮件服务 Centos ,默认会…

    Linux干货 2015-05-13
  • 用户管理基本操作

    1.创建组distro,其GID为2016[root@localhost ~]# groupadd -g 2016 distro2.创建用户mandriva,其ID号为1005;基本组为distro[root@localhost ~]# useradd -u 1005 mandriva -g 20163.创建用户mageia,其ID号为1…

    Linux干货 2017-09-04
  • Linux进程篇16.3ps命令:进程管理工具

    ps命令:进程管理工具

    Linux干货 2017-12-18
  • linux中find命令的那些事

         概述:在介绍find这个强大的文件查找命令前,我们先介绍两个较简单的文件查找命令whereis和locate命令,通常我们都是先使用whereis或者是locate检查,如果真的找不到了,才用find来查找,因为whereis和locate是利用数据库来查找数据的,速度相当快,节约时间,缺点就是有可…

    Linux干货 2016-08-18
  • 马哥教育网络班22期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/tuser1 [root@localhost ~]# chmod&nb…

    Linux干货 2016-09-05
  • bash编程初体验(一)

    bash编程初体验(一) 认识bash编程 变量与赋值 算术与逻辑运算 条件测试与退出状态 认识bash编程 Bash(GNU Bourne-Again Shell)是许多Linux发行版的默认Shell,我们要认识的bash中,就是在bash的环境下的一种编程。 众所周知,程序=指令+数据,由此也决定了两种不同的编程风格,过程过与对象式; 过程式:以指令为…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-14 15:55

    博客完成的非常好,经验就来自于不断的实验的,反复的实验,加油!