几个正则表达式和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
下一篇 2016-10-30

相关推荐

  • TCP常见问题总结

    TCP协议和UDP协议的区别是什么 TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握手建立连接,会话结束之后也要结束连接。而UDP是无连接的 TCP协议保证数据按序发送,按序到达,提供超时重传来保证可靠性,但是UDP不保证按序到达,甚至不保证到达,只是努力交付,即便是按序发送的序列,也不保证按序送到。 TCP协议…

    Linux干货 2017-09-02
  • 8月5日课堂笔记

    bash基础及shell编程初步 bash的特性及bash脚本编程初步    操作系统硬件, 内核把底层硬件的复杂性给隐藏起来,统一输出为一种系统调用,系统调用非常底层,把系统调用封装成了库。让程序运行起来。用户在创建时有一个默认shell。终点设备用来当做标准输入和输出。  要想与主机交互,需要一个【终端】,附着在终端接口程序:  &n…

    Linux干货 2016-08-07
  • shell脚本循环及函数

    16.循环执行                 将代码段重复运行多次           &nbsp…

    Linux干货 2016-08-24
  • 硬链接与软链接

    硬连接:          其本质就是:一个文件,多个名字。注意:目录是没有硬链接的。 用ln filename linkname创建硬链接,注意源文件和链接文件位置顺序,硬链接不可以跨分区建。 在创建硬链接时会增加硬连接数,可以通过ls –l查看,如下图所示的,可看到硬链接数。…

    2017-07-20
  • shell脚本编程初步

    shell脚本编程初步    随着课程学习的深入,我们已经学习了一些常用的命令,会去解决了一部分简单的问题,但是这不能满足复杂的工作,它可以帮助我执行自动化的常用命令、执行系统管理和故障排除、创建简单的应用程序、处理文本或文件。所以我们开始了shell脚本的编程,帮助我们更好的去完成工作。简单地说,shell编程相当于帮我们之前…

    Linux干货 2016-08-15