马哥教育网络班20期-第五周课程作业

Table of Contents

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

grep '^[[:space:]]\+' /boot/grub/grub.conf

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

grep '^#[[:space:]]\+[^[:space:]]\+' /etc/rc.d/rc.sysinit

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

netstat -tan | grep 'LISTEN[[:space:]]*'

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

useradd bash
useradd testbash
useradd basher
useradd -s /sbin/nologin nologin
grep '^\([^:]\+\):.*/\1$' /etc/passwd

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

grep '^\(root\|fedora\|user1\):' /etc/passwd | cut -d: -f1,7

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

grep '^[[:alpha:]]\+()' /etc/rc.d/init.d/functions

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

echo '/etc/passwd' | grep -o '^.*[^/]' | grep -o '/[^/]\+/\?$'
  • 扩展:取出其路径名

echo '/etc/passwd' | grep -o '^.*[^/]' | grep -o '^.*/'

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

ifconfig | grep -o '\<\([0-1]\?[0-9]\{1,2\}\|2[0-4][0-9]\|25[0-5]\)\>'

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

ifconfig | grep -o '\(\<\([0-1]\?[0-9]\{1,2\}\|2[0-4][0-9]\|25[0-5]\)\>\.\)\{3\}\<\([0-1]\?[0-9]\{1,2\}\|2[0-4][0-9]\|25[0-5]\)\>'

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

echo 'qiumupo@qq.com' | grep '^[a-zA-Z0-9_-]\+@[a-zA-Z0-9_-]\+\(\.[a-zA-Z0-9_-]\+\)\+$'

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 -444

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

find /etc -size +1M -type f

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

find /etc/init.d -perm -115

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

find /usr ! -user root ! -user bin ! -user hadoop

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

find /etc ! -perm -444

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

find /etc -ctime -7 ! -user root ! -user hadoop

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

(0)
Net20_木皮Net20_木皮
上一篇 2016-07-12
下一篇 2016-07-12

相关推荐

  • five

    1;显示当前系统上root, fedora或user1用户的默认shell。 #   grep "^\(root\|fedora\|user1\)" /etc/passwd #   grep -E "^(root|fedora|u…

    Linux干货 2017-01-16
  • shell脚本编程之函数

      在编写脚本时经常会遇到某个任务需要重复使用的问题,需每次都要输入同样的代码是件挺烦人的事情,还好可以通过编写函数还简化这项工作。   函数其实就是给一段代码起个名字,在每次使用这段代码的时候可以直接使用函数名来调用就可以了。 一、创建函数   创建函数的格式有两种:   格式1:function 函数名{ &nbs…

    Linux干货 2016-01-05
  • 文本处理工具

    1、cat命令 功能: 显示文本内容,连接合并文本内容并在标准设备上输出 语法: cat [OPTION]… [FILE]… 选项: -E:显示行结束符(回车)$ -A:显示所有控制符,相当于-vET -n:对显示出的每一行进行编号 -b:对非空白行编号 -s:将连续的空行压缩成一行 -T:把TAB字符显示为^I -v:除了&nb…

    Linux干货 2016-08-07
  • 马哥教育网络20期—nginx

    Nginx 一. Nginx 特性 二. Nginx 基本架构 三. Nginx 基本功能 四. Nginx 安装 五. Nginx 配置文件 六. Nginx http服务功能测试 七. Nginx LNMP 一. Nginx 特性 模块化,目前只能将模块编译进Nginx,暂时不支持动态装卸载模块.(httpd优势) 可靠性,一个主进程(master)控制…

    Linux干货 2016-06-26
  • CentOS6.8启动卡死在开机进度条

    不知道什么原因CentOS6.8开机的时候卡在进度条一直进不去。就是下面的画面 在这个画面下面也看不到什么原因,果断F5切换至有显示开机进程的界面 看到了上述的错误提示:invalid user :'root' root是无效的root这是什么鬼? 接下来重新开机,进入到救援模式 开机的时候快速按一下ESC,进入到CD启动,然后选择救援模…

    Linux干货 2016-12-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 14:49

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