几个正则表达式和find查找语句事例

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

~]# grep -E "^(root|bin|hadop)" /etc/passwd | cut -d: -f7

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

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

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

echo /etc/sysconfig/network | grep -E -o "[^/]+/?$"

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

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

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

~]# ifconfig | grep -o -E '(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[[0-4][0-9]|25[0-9]).){3}[0-9]{1,3}'

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

~]# grep -o -E '[[:alnum:]]+@[[:alnum:]]+(.[a-z]+){1,}' /tmp/mailtest

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

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

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

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

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

~]# find /etc -perm -222

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

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

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

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

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

~]# find /usr -not -user root -a -not -user bin -a -not -user hadoop -type f

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

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

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

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

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

(2)
oranixoranix
上一篇 2016-10-30 15:48
下一篇 2016-10-30 16:06

相关推荐

  • cp、chmod、chown、grep及正则表达式练习

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。   编辑/etc/group文件,添加组hadoop。使用vim指令编辑/etc/group文件,进入末行模式(输入冒号),然后输入$回车,将光标跳至末行,然后按下o(小写)在最后一行下面输入新的组:hadoop:x:…

    Linux干货 2016-11-21
  • KVM部署及简单使用

    KVM特点 KVM必须在具备Intel VT或AMD-V功能的x86平台上运行。KVM包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。使用一个经过修改的QEMU(qemu-kvm),作为虚拟机上层控制和界面。 由于KVM仅是一个简单的虚拟化模块,所以它的内存管理没有自我实现,需借助于Linux内…

    Linux干货 2016-02-14
  • 三台服务器配置lamp

                   关于用三台服务器配置lamp 要求:(1) 三者分离于三台主机;          (2) 一个虚拟主机用于提供phpMyAdmin         &nbsp…

    2017-06-04
  • 跟着vimtutor走来认识vim

        一、前言        VIM是一款在vi上进行改进的功能性强大的,开源的文本编辑器。     二、vim的设计理念     vim的设计理念是组合;       命令组合:类似于linux的由一个个单一功能的程…

    Linux干货 2016-05-13
  • 第九周作业

    1. 写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; # awk -F: ‘{if($7!=”/sbin/nologin”) {printf “Logined user %s\n”…

    Linux干货 2017-03-01
  • 姗姗来迟的第三周作业

    一,列出当前系统上所有已经登录的用户的用户名,注意,同一个用户登录多次只显示一次即可 w -h | cut -d" " -f1 | uniq who |cut -d" " -f1|uniq 二,取出最…

    Linux干货 2016-11-21