week5:grep命令和find命令的应用

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

 ~]# grep -E "^(root|fedora|user1):" /etc/passwd|cut -d/ -f4

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

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

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

   ~]# echo "/etc/rc.d/init.d/functions" |grep -E -o "[^/]+/?$" 

  扩展:取出其路径名   

   ~]# echo "/etc/rc.d/init.d/functions" |grep -E -o "^\/.*\/" 

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

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

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

   ~]#ifconfig|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])\>"

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

   ~]# grep -E -o '\<[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+\>'

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

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

8.查找当前系统上没有属主或属组的文件;   

   ~]#find / -nouser -o -nogroup 

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

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

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

   ~]# find /etc/ -perm +222

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

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

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

   ~]# find /etc/init.d/ -perm -111 -a -perm -002 –ls

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

   ~]# find /usr -not \( -user root -o -user bin -o -user hadoop \)

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

 ~]# find /etc/ -perm -222

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

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

原创文章,作者:N24_云淡风轻,如若转载,请注明出处:http://www.178linux.com/61312

(0)
上一篇 2016-11-28 18:01
下一篇 2016-11-28 20:04

相关推荐

  • 自制一个简易linux

    虚拟机添加一块新的硬盘(大小自定义) 在磁盘上创建一个基本分区作为/boot分区(大小200M足够) 再创建一个基本分区作为基本根分区(这里我指定给了5G大小) 然后给分区创建文件系统(注;swap分区要使用mkswap命令) ]# mkdir /mnt/boot 创建挂载点(因为grub只识别/boot目录,所以要创建boot目录) ]# mount /d…

    Linux干货 2016-09-21
  • wk_04作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r  /etc/skel/ /home/tuser1 # chmod 700 /home/tuser1 2、编辑/etc/group…

    Linux干货 2016-12-27
  • 在Centos7上源码编译httpd

    在Centos7上源码编译httpd 安装源码包 首先在http://httpd.apache.org下载所需要的安装包 小编在这里下载的是httpd-2.4.27.tar apr-1.6.2.tar apr-util-1.6.0.tar 首先编译安装apr-1.6.2.tar.gz #1 tar -zxf apr-1.6.2.tar.gz #先解压安装包 …

    2017-08-21
  • zabbix low-level discover 监控端口

    zabbix通过调用jason格式的输出,实现数据的收集 获取端口的shell脚本   #!/bin/bash port_array=(`netstat -tnl|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]…

    Linux干货 2016-06-09
  • bash脚本之练习

    1、编写服务脚本/root/bin/testsrv.sh,完成如下要求  (1) 脚本可接受参数:start, stop, restart, status  (2) 如果参数非此四者之一,提示使用格式后报错退出 (3) 如是start:则创建/var/lock/subsys/SCRIPTNAME, 并显示“启动成功” 考虑:如果事先已经启…

    Linux干货 2016-08-24
  • 学习宣言

    不妥协,不气馁,朝着自己的目标前进。

    Linux干货 2016-10-24

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-14 15:55

    博客完成的非常好,经验就来自于不断的实验的,反复的实验,加油!