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

相关推荐

  • ifconfig命令学习

    ifconfig命令 网络配置 ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。 语法 ifconfig(参数) 参数 add<地址>:设置网络设备IPv6的ip地址; del&lt…

    Linux干货 2017-07-02
  • N22-第三周作业

    列出当前系统上所有已经登录的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# w |cut -d ' ' -f1 |sort -u lucy root USER 2.取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# last -1 root   &nbs…

    Linux干货 2016-08-28
  • netstat

    netstat命令 netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等 1 常用选项: -a :(all)显示所有选项,默认不显示LISTEN相关 -t :(tcp)仅显示tcp相关选项 -u :(…

    Linux干货 2017-05-07
  • 新的开始

    hello,我在这里,马哥运维,一起努力!

    Linux干货 2016-12-26
  • iptables/netfilter入门到进阶

    一、iptables/netfilter的简介: iptables:规则管理工具;该系统工具有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfi…

    Linux干货 2017-05-03
  • Linux进程查看及管理(2)

    Linux进程查看及管理(2) CentOS5和6的启动流程: Liunx中的启动:kernel和rootfs(根文件系统) kernel:进程管理,内存管理,网络管理功能,驱动程序,文件系统,安全功能(权限模型), rootfs:glibc(lib,lib64) 库:函数集合,function(功能模块)有其调用接口(头文件是对函数功能或调用参数的功能进行…

    Linux干货 2016-08-08

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 23:19

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