马哥教育网络班21期+第5周课程练习

1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

sed -n '/^[[:space:]]\{1,\}/p' /boot/grub/grub.conf

2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

sed -n '/^#[[:space:]]\{1,\}[^[:space:]]\{1,\}/p' /etc/rc.d/rc.sysinit

3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

netstat -nat | sed -n '/LISTEN[[:space:]]*$/p'

4、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

sed -n '/^\([[:alnum:]]\{1,\}\):.*\1$/p' /etc/passwd

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

egrep '^(root|fedora|user1)' /etc/passwd | awk -F: '{print $1,$7}'

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

sed -n '/\<[[:alpha:]]\{1,\}\>()/p' functions

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

echo "/etc/sysconfig/" | grep -o -E "[^/]+/?$" | cut -d/ -f1
扩展:取出其路径名
echo "/etc/yum.repos.d/mysoft.repo" | sed 's@[^/]\{1,\}/\?$@@'

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

ifconfig | egrep -o '[[:digit:]]+' | awk '$1<=255 && $1>=1 {print $1}'|sort -un

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

egrep '^((25[0-5]|2[0-4][[:digit:]]|[01]?[[:digit:]][[:digit:]]?)\.){3}(25[0-5]|2[0-4][[:digit:]]|[01]?[[:digit:]][[:digit:]]?)$'

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

egrep '^[a-zA-Z0-9._-]*@[a-zA-Z_-]*\.[a-zA-Z]'

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

find /var -user root -group mail

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

find / -nouser -o -nogroup
 进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
find / \(-nouser -o -nogroup\) -a -atime -3

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

find /etc -perm -222

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

find /etc -type f -size +1M

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

find /etc/init.d/ -perm -112

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

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

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

find /etc/ -not -perm -222

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

find /etc -mtime -7 -a -not \(-user root -o -user hadoop\)

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

(0)
hhaa0352hhaa0352
上一篇 2016-08-02
下一篇 2016-08-02

相关推荐

  • 批量创建用户(8月1日作业)

    1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution" 2、创建下面的用户、组和组成员关系 名字为admins的组;  用户natasha,使用admins作为附属组;  用户harry,也使用admins作为附属组 &nbs…

    Linux干货 2016-08-04
  • shell脚本之测试命令(test、[])

    话不多说,直接开车 在编写shell脚本中,我们经常需要判断命令执行的正确与否,从而进行不同的操作。首先我们来介绍下条件性的执行操作符:根据退出状态而定,命令可以有条件地运行。其中,利用echo的话方便我们对测试结果的查看。 (1)&& 代表条件性的AND THEN 可以理解为短路与:当&&前面命令为真时,执行&am…

    Linux干货 2017-08-05
  • 网络与进程管理相关命令使用

    网络管理之netstat命令 netstat     -print network connections,routing tables,interface statistics,masquerade connections and multicast memberships     netstat…

    Linux干货 2016-09-07
  • 八大排序算法

    概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。     当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。    快速…

    Linux干货 2015-04-07
  • centos6.9的安装

    先准备一个安装虚拟机的的软件VMware Workstation Pro和光盘centos6.9和光盘 然后打开该软件,点击创建新的虚拟机   然后会出现一个新建虚拟机向导,选择典型,点下一步 继续点下一步   把虚拟机名称改成所装的版本 然后新建一个文件夹,点击浏览,接着点击这个新建的文件夹,这个文件夹就是虚拟机所装入的位置,…

    2017-07-15
  • 五种开源协议的比较(BSD,GPL,LGPL,Apache,BSD)

    BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码…

    Linux干货 2016-01-16

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-02 11:38

    写的很好,排版也很棒,加油