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

相关推荐

  • 基于mysql虚拟用户认证​

    虚拟用户:                             用户账号存储于何处? …

    Linux干货 2016-10-17
  • 采用二进制包安装mysql

    本文是在CentOS7系统平台下安装Mysql5.6.26版本数据库的操作说明,如有错误,请指正。 系统平台:CentOS-7-x86_64    数据库版本:mysql-5.6.26   Mysql镜像文件下载地址:http://dev.mysql.com/downloads/mirrors.html 本次演示的Mysql安装…

    Linux干货 2017-05-04
  • 马哥linux运维网络班第22期-第一周博客作业

    计算机的组成及其功能 计算机由运算器,控制器,存储器,输入装置和输出装置组成 (1)运算器 对数据进行常规运算(+,-,*,/)和逻辑运算(与,或,非等)及比较位移等操作 (2)控制器 分析从存储器中读出的指令并按预先规定的步奏执行操作 (3)存储器 存储程序和数据信息并实现快速存取 (4)输入设备 把各种类型的信息转换为二进制编码输入进计算机存储起来 (5…

    Linux干货 2016-08-14
  • 初学Linux之文件查找和压缩

    使用locate命令 ,使用find命令 ,压缩和解压缩工具

    2018-01-13
  • select基本用法和软件包管理

    一、select语句     select语句在脚本中用于创建菜单,按数字顺序排列的菜单项显示在标准输出上,并用PS3提示符,等待用户输入。用户输入菜单中的某个数字,执行相应的命令,并被保存在内置变量REPLY中。 用法:     select NAME [in WORDS &#…

    Linux干货 2016-08-21
  • 计算机基础知识及基本命令(20170214)

    计算机基础知识 操作系统相关 linux分区介绍 安装linux linux基本命令    一、计算机基础知识       计算机(computer):计算机(Computer):俗称电脑,是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化智能电子设备 …

    Linux干货 2017-02-14

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 23:19

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