find和grep命令练习

                                find和grep命令练习

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

  • ~]# cat /etc/passwd | egrep "^(root|fedora|user)" | cut -d: -f7

  • /bin/bash

  • /bin/bash

  • /bin/bash

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

  • ~]# cat /etc/rc.d/init.d/functions | grep "\<[[:alpha:]]+()"

  • checkpid() {

  • daemon() {

  • killproc() {

  • pidfileofproc() {

  • pidofproc() {

  • status() {

  • success() {

  • failure() {

  • passed() {

  • warning() {

  • action() {

  • strstr() {

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

  • ~]# echo /etc/rc.d/init.d/functions | cut -d"/" -f5

  • functions

  • 扩展:取出其路径名

  • ~]# echo /etc/rc.d/init.d/functions |egrep -o ".*t.d/"

  • /etc/rc.d/init.d/

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

  • ~]# ifconfig | egrep -o "[1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5]"

  • 167

  • 77

  • 73

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

  • ~]# ifconfig | egrep -o '[1-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'

  • 192.168.0.7

  • 255.255.255.0

  • 127.0.0.1

  • 255.0.0.0

  • 192.168.122.1

  • 255.255.255.0

  • 192.168.122.255

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

  • ~]# egrep "^[[:alnum:]]+@[[:alnum:]]+.[[:alnum:]]+$"

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

  • ~]# find /var/ -user root -group mail -ls

  • 2752708 4 drwxrwxr-x 2 root mail 4096 10月 17 12:44 /var/spool/mail

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

  • ~]# find -nouser -o -nogroup -ls

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

  • ~]# find -nouser -o -nogroup -a -atime 3 -ls

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

  • ~]# find /etc/ -perm /222 -type f -ls

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

  • ~]# find /etc/ -size +1M -type f |xargs ls -lh

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

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

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

  • ~]# find /usr/ -not -user root -a -not -user bin -a -not -user hadoop -ls

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

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

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

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

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

(4)
shiyekunshiyekun
上一篇 2016-10-23 22:22
下一篇 2016-10-23 23:20

相关推荐

  • 配置LAMP实现WordPress

    配置LAMP实现WordPress 在同一台主机上实现LAMP(Linux + Apache + MariaDB + PHP) CentOS 7.3、Apache 2.4.6、MariaDB 5.5.52、PHP 5.4.16 1 安装LAMP 采用yum方式进行安装httpd、MariaDB、php、php-mysql,php-mysql用来进行php和M…

    2017-06-06
  • egrep及文本处理工具十三道实例

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。 4、复制/etc/sk…

    2018-03-20
  • Python 数据结构

    python 内置数据结构python 内置数据结构数字的处理函数: round() 五舍六入       2.5  2     2.6    3 floor() 向下取整       2.5  2     2.6    2 ceil() 向上取整       2.5  3     2.6    3 min() 取最小的       1,2,3      1…

    Linux干货 2017-09-23
  • 说说linux权限管理(1)

    在这篇文章当中你可以看到: 1、linux系统文件普通权限 2、文件所属主的设置,组的指定 3、特殊权限 4、acl权限 5、su命令及其注意事项和sudo权限 6、权限管理的注意点 0、首先,在linux下用户账户是分角色的,由于角色的不同,每个角色,每个用户的的权限和所能完成的任务也不同。而在实际管理中,用户的角色是通过UID(用户id号)来标识的,每个…

    Linux干货 2016-04-30
  • Linux用户和组的相关管理命令(一、用户的相关命令)

    Linux是一个可以实现多用户登录的操作系统,通过su – 用户名 可以进行用户之间的切换,从而完成不同登录用户下对私有文件的操作,同时,每个用户有且只有一个主组,但是可以有零个或多个附加组,每个组可以是一个用户的主组,同时还可以是多个用户的附加组。因此,熟练掌握用户和组的相关命令十分重要。 首先,要了解用户和组的配置文件各有两个: 与用户相关的…

    2017-07-22
  • linux基础

    1.计算机的组成及其功能。 计算机的主要组成部分可以归纳为以下五个部分:控制器、运算器、存储器、输入设备、和输出设备。 控制器 是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器 运算器的功能是对数据进行各种算术运算…

    Linux干货 2016-08-15