几个正则表达式和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

相关推荐

  • 网络服务之Nginx

      在之前一篇博客中我们讲述了httpd网络服务器,那么httpd是个非常稳定安全的一个服务器,这次我们介绍一个新的网络服务器—-nginx。   Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器(我们主要围绕这两…

    2017-06-07
  • bash的工作特性之命令执行状态返回值和命令行展开

    bash的工作特性之命令执行状态返回值和命令行展开 bash的工作特性之命令执行状态返回值和命令行展开 执行状态返回值 命令行展开 执行状态返回值     Linux下每一条命令或每一个进程执行完成会返回一个状态码. 0:成功执行 1-255:执行过程中出现异常或非正常退出 在Shell脚本中,最后…

    Linux干货 2016-11-05
  • 14程序包的编译安装

    在有些源代码程序没有被编译成rpm的时候,或者其他人写了一个源代码程序,要把它安装在服务器上要怎么做呢? 那就需要对源代码进行编译安装了。 C代码编译安装三步骤: 1、./configure: (1)通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile (2) 检查依赖到的外部环境,如依赖的软件…

    Linux干货 2016-11-27
  • M22 Centos环境设置

    Centos有4个地方存储环境变量:/etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc /etc/profile:定义了系统环境变量pathmunge()函数如果第二个参数是“after”,PATH=$PATH:$1设置MAIL路径为/var/spool/mail/$USER设置root帐号的环境变量设置HI…

    Linux干货 2017-03-05
  • N26 第五周博客作业

    1、显示当前系统上root、fedora或user1用户的默认shell; 演示:     [root@263821a05cd9 /]# grep -E “^(root|fedora|user1)\>” /etc/passwd    root:x:0:0:root:/r…

    Linux干货 2017-03-05