find和grep命令练习

                                find和grep命令练习

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

  • ~]# cat /etc/passwd | egrep "^(root|fedora|user)" | cut -d: -f7

  • /bin/bash

  • /bin/bash

  • /bin/bash

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

  • ~]# cat /etc/rc.d/init.d/functions | grep "\<[[:alpha:]]+()"

  • checkpid() {

  • daemon() {

  • killproc() {

  • pidfileofproc() {

  • pidofproc() {

  • status() {

  • success() {

  • failure() {

  • passed() {

  • warning() {

  • action() {

  • strstr() {

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

  • ~]# echo /etc/rc.d/init.d/functions | cut -d"/" -f5

  • functions

  • 扩展:取出其路径名

  • ~]# echo /etc/rc.d/init.d/functions |egrep -o ".*t.d/"

  • /etc/rc.d/init.d/

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

  • ~]# ifconfig | egrep -o "[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5]"

  • 167

  • 77

  • 73

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

  • ~]# ifconfig | egrep -o '[1-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'

  • 192.168.0.7

  • 255.255.255.0

  • 127.0.0.1

  • 255.0.0.0

  • 192.168.122.1

  • 255.255.255.0

  • 192.168.122.255

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

  • ~]# egrep "^[[:alnum:]]+@[[:alnum:]]+.[[:alnum:]]+$"

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

  • ~]# find /var/ -user root -group mail -ls

  • 2752708 4 drwxrwxr-x 2 root mail 4096 10月 17 12:44 /var/spool/mail

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

  • ~]# find -nouser -o -nogroup -ls

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

  • ~]# find -nouser -o -nogroup -a -atime 3 -ls

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

  • ~]# find /etc/ -perm /222 -type f -ls

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

  • ~]# find /etc/ -size +1M -type f |xargs ls -lh

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

  • ~]# find /etc/init.d/ -perm /113 -type f -ls

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

  • ~]# find /usr/ -not -user root -a -not -user bin -a -not -user hadoop -ls

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

  • ~]# find /etc/ -not -perm -111 -type f -ls

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

  • ~]# find /etc/ -mtime -7 -not -user root -a -not -user hadoop

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

(4)
shiyekunshiyekun
上一篇 2016-10-23 22:22
下一篇 2016-10-23 23:20

相关推荐

  • Linux中/etc目录下常用的配置文件及其含义总结

         在linux中有一个很重要的思想就是一切皆文件,也就是说所有的系统参数的配置都是保存在各种各样的配置文件当中的,这点Linux和Windows有很大的差别。      因为Linux中有众多配置文件,学习起来难免会不容易记忆,所以在此把一些常用的配置文件记录下来,做一个归纳总结。根据FHS…

    Linux干货 2017-03-26
  • MySQL系列之一键安装脚本—-单实例/多实例

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1440414       最近在搞MySQL,由于经常测试一些东西。因此,就写了一个一键安装脚本。 脚本用途: 用于在…

    Linux干货 2016-08-15
  • 进程与计划任务

    PID 进程号,用来标记各个进程;CentOS6中起始的第一个进程为init7中为systemd 进程优先级: 系统优先级:数字越小,优先级越高 0-139(4,5中) 各有140个运行队列和过期队列 0-98,99(6中) 实时优先级:99-0:值越大优先级越高 nice值:-20到19,对应系统优先级100-139或99 进程状态: 运行:running…

    2017-05-14
  • 第三天作业

    1、列出当前系统上所有已经登录的用户的用户名。注意:同一个用户登录多次,则只显示一次即可 [root@localhost ~]# who | cut -d ' ' -f1 | sort | uniq [root@localhost ~]# who (unknown) :0         &nbsp…

    Linux干货 2016-08-30
  • 面向对象魔术方法

    ##**特殊属性**– __name__ 类、函数、方法等的名字– __module__ 类定义所在的模块名– __class__ 对象或类所属的类– __bases__ 类的基类的元组,顺序为它们在基类列表中出现的顺序– __doc__ 类、函数的文档字符串,如果没有定义则为None–…

    Linux干货 2017-11-21
  • 第二周博客作业

    1.linux上的文件管理类命令都用哪些,其常用的使用方法及其相关示例演示。 常用命令有:cp, mv, rm 复制命令:cp cp [OPTION]… [-T] SOURCE DEST                 cp [OPTION]… SOURC…

    Linux干货 2016-06-23