grep,find等相关命令

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

~]# grep -E "^root|^fedora|^user1" /etc/passwd | awk -F: '{print $1,$NF}'
root /bin/bash
fedora /bin/bash
user1 /bin/bash

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

~]# awk '/.*[[:alpha:]].*\(\)/{print}' /etc/rc.d/init.d/functions

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

#基名:
~]# echo "/etc/rc.d/init.d/functions" | grep  -E  -o  "[^/]+$"
functions
#路径名:
~]# echo "/etc/rc.d/init.d/functions" | grep  -E  -o  "^/.*/"

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

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

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

~]# 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])\>"

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

~]# grep -E -o “\<[a-z0-9A-Z._%+-]+@[a-z0-9A-Z.-]+\.[a-zA-Z]{2,6}\>”

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

#方法一:
~]# find /var/ -user root -a -group mail
#方法二:
~]# ll /var/ |  awk -F' ' '{if($3=="root" && $4=="mail") print $0}'

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

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

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

#方法一:
~]# find /etc/ -perm -020
#方法二:
~]#  ll /etc/ | grep '^-rw[x-]rw[x-]rw[x-]'
#方法三:
~]# ll /etc  | awk '/^-rw[x-]rw[x-]rw[x-]/{print $0}'

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

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

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

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

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

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

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

~]# find /etc/ -not -perm /222

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

~]# find /etc -mtime -7 -not \(-user root -o -user hadoop\)

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

(0)
N24_VCN24_VC
上一篇 2016-11-27
下一篇 2016-11-28

相关推荐

  • grep命令

    ]# chmod -R 700 /home/tuser1 ]# ll /home/tuser1/ total 0 drwx——. 2 root root 72 Nov 20 17:33 skel 新增用户与组: 显示/proc/meminfo: 显示shell 非 /sbin/nologin 的用户 找出/etc/passwd文件中一…

    Linux干货 2016-11-20
  • 磁盘运作方式及分区,挂载等操作

    磁盘运作方式及分区,挂载等操作 磁盘是我们存储数据的空间,而为了方便我们对数据的管理,我们需要对磁盘进行分区。而在我们创建过分区之后 ,我们为了能 够访问磁盘 ,需要对磁盘进行挂载 。文件系统通过为每个文件在分区上分配文件块的方式把数据存储在硬盘上。所以,就是使用文件系统在 硬盘分区上对数据块的各种信息的操作。这样就需要我们了解磁盘的运作方式,学会磁盘的分区…

    Linux干货 2016-08-29
  • linux系统启动详解

    主要内容: 系统启动过程 init启动过程 chkconfig的增,删,查 Linux组成 Linux: kernel+rootfs  kernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能  rootfs:程序和glibc 库:函数集合, function, 调用接口…

    Linux干货 2016-09-08
  • 10 文本处理のsed狗带

    sed 介绍 工作原理 语法 参数选项:-n, -e, -r, -f, -i 地址定界 编辑命令 查找替换 空间操作 练习 参考文档 sed介绍 sed是一个(stream editor)。         1) :使用sed只能在命令行下输入编辑命令来编辑文…

    Linux干货 2016-08-12
  • CentOS 5,6 系统启动流程详解

        一、linux 组成介绍          1.linux 组成:              Lin…

    Linux干货 2016-09-11
  • Linux命令帮助文档的使用及简单命令使用-2016-7-25

    Linux命令帮助文档的使用   相关命令 whatis    COMMAND –help    man and info 本地帮助文档/usr/share/doc   在使用系统内建的帮助文档之前,我们需要了解需要命令帮助是否是内部命令和外部命令…

    Linux干货 2016-08-04

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 23:19

    非常不错的作业,尤其是Q9结合自己已经掌握的技能用多种方式解决,拓展思维,加深印象,非常赞,加油。