马哥教育网络班22期+第五周课程练习

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

 ~]# cat /etc/passwd |grep -E  "^(root|fedora|user1)" |awk -F: '{print $NF}'
/bin/bash
/bin/bash
/bin/bash

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

~]# grep -o "\<[[:alpha:]]\+\>()" /etc/rc.d/init.d/functions 
checkpid()
daemon()
killproc()
pidfileofproc()
pidofproc()
status()
success()
failure()
passed()
warning()
action()
strstr()
confirm()

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

 ~]# echo /etc/rc.d/rc.sysinit |grep -o "[^/]\+/\?$"
rc.sysinit
  • 扩展:取出其路径名

~]# echo /etc/rc.d/rc.sysinit |grep -o ".*/"
/etc/rc.d/

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

 ~]# ifconfig |grep -o "[0-9]\|[1-9][0-9]\|[1-9][0-9][0-9]\|2[0-4][0-9]\|25[0-5]
"
0
0
0
0
29
8
4
56
192
168
80
100
192
168
80
255
255
255
...

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

 ~]# ifconfig |egrep -o "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"
192.168.80.100
192.168.80.255
255.255.255.0
127.0.0.1
255.0.0.0

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

~]# egrep -i "[[:graph:]]+@[[:graph:]]+\.[a-z]+" 1.txt 

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

~]# find /var -user root -a -group mail -ls
260454    4 drwxrwxr-x   2 root     mail         4096 Sep 16 06:29 /var/spool/mail
264333    8 -rw-------   1 root     mail         5435 Sep 10 08:19 /var/spool/mail/root

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

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

~]# find /  -not \( -user -o -group \)
~]# find /  -not \( user -o -group \) -a -atime 3

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

~]# find /etc -perm -222 
/etc/rc6.d
/etc/ssl/certs
/etc/rc4.d
/etc/redhat-release
/etc/sysconfig/network-scripts/ifup-isdn
/etc/sysconfig/network-scripts/ifdown-isdn
/etc/sysconfig/network-scripts/ifdown
/etc/sysconfig/network-scripts/ifup
/etc/sysconfig/selinux
...

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

~]# find /etc/ -type f -size +1M
/etc/selinux/targeted/modules/active/policy.kern
/etc/selinux/targeted/policy/policy.24

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

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

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

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

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

~]# find /etc/ -not -perm -222 -ls |wc -l
798

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

~]# find /etc -mtime -7 -a -not \( -user root -o -user hadoop \) -ls

原创文章,作者:N22-白蚁,如若转载,请注明出处:http://www.178linux.com/46754

(0)
N22-白蚁N22-白蚁
上一篇 2016-09-19 13:48
下一篇 2016-09-19 13:48

相关推荐

  • MBR

    关于磁盘的使用,必须要弄明白MBR 分区划分方式     centos 6:扇区划分     centos 7:柱面划分 MBR:Master Boot Record:512bytes 0磁道0扇区 512bytes=446bytes(boot loader) + 4*16byt…

    Linux干货 2016-09-05
  • linux入门基础知识及简单命令介绍

    1、计算机硬件组成介绍 计算机主要由cpu(运算器、控制器),内存,I/O,外部存储等构成。     cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作。不能从硬盘中直接取数据。     内存从外部存储中取出数据供cpu运存。内存的最小单位是字节…

    Linux干货 2017-08-28
  • 马哥教育网络班20期+第九周博客作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash export nolginbash export otherbash for i in `grep -o…

    Linux干货 2016-08-09
  • 第九周练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # nologin=$(awk -F: '$NF=="/sbin/nologin"{print $NF}…

    Linux干货 2016-12-21
  • 系统管理之Systemd详解(centos7)

    这篇着重讲解下Syetemd的相关知识,systemd可以说是centos7上的重大改革,功能之强大媲美一个操作系统,那下面就从以下几点来进行讲解:CentOS7启动Unit介绍服务管理和查看启动排错破解口令修复grub2 启动流程: post–>BISO–>bootloader(MBR)–>kernel(ramdisk)–>…

    Linux干货 2016-09-21

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 19:09

    写的很好。匹配ip地址的还可以在优化一下