N26第五周博客作业

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 -E “^root\>|^fedora\>|^user1\>” /etc/passwd | cut -d: -f1,7 –output-delimiter=”  “

sed -rn ‘/^root\>|^fedora\>|^user1\>/p’ /etc/passwd | cut -d: -f1,7 –output-delimiter=”  “

awk -F: ‘/^root\>/||/^fedora\>/||/^user1\>/ {print $1,$7}’ /etc/passwd

6、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();
grep -E -o “[_[:alnum:]]+()” /etc/rc.d/init.d/functions

7、使用echo命令输出一个绝对路径,使用grep取出其基名;
    扩展:取出其路径名
    echo /etc/rc.d/init.d/ | grep -E -o “[^/]+/?$” 
    
    echo /etc/rc.d/init.d/ | sed -r’s@[^/]+/?$@@’

8、找出ifconfig命令结果中的1-255之间数字;
ifconfig | grep -E -o “\<[1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]\>”

9、挑战题:写一个模式,能匹配合理的IP地址;
ifconfig | grep inet | grep -v 127|grep -v inet6|awk ‘{print $2}’|tr -d “addr:”

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

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

12、查找当前系统上没有属主或属组的文件;
find / -nouser -o -nogroup

    进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;
    find / -atime -3 -nouser -o -nogroup
    
13、查找/etc目录下所有用户都有写权限的文件;
find /etc -perm -222 -ls

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

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

16、查找/usr目录下不属于root、bin或hadoop的文件;
第一种方法:find /usr -not -user root -a -not -user bin -a -not -user hadoop
第二种方法:find /usr -not ( -user root -o -user bin -o -user hadoop )

17、查找/etc/目录下至少有一类用户没有写权限的文件;
find /etc -not -perm -222 -type f -ls

18、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;
find /usr -mtime -7 -a  -not ( -user root -o -user hadoop ) -ls

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

(0)
天空天空
上一篇 2017-03-05 22:33
下一篇 2017-03-06 11:53

相关推荐

  • Linux计划任务

    计划任务 Linux任务计划、周期性任务执行 • 未来的某时间点执行一次任务:     at     batch:系统自行选择空闲时间去执行此处指定的任务 • 周期性运行某任务:      cron at任务 …

    Linux干货 2016-09-10
  • N22-第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s@^[[:space:]]\+[^[:space:]]@#\1@g 或 :%s@^[[:space:]]\+[^[:space:]]@#&a…

    Linux干货 2016-09-26
  • 脚本进阶笔记整理

    一、逻辑运算 变量:   本地变量、环境变量、局部变量、位置参数变量、特殊变量   变量赋值:name=value,export name=value,declare -x name=value   变量引用:$name,${name}   注意:有些时候{}不能省略,例如 &n…

    Linux干货 2017-03-26
  • Keepalived实现nginx双主

    一、架构描述与应用 1. 应用场景 大多数的互联网公司都会利用nginx的7层反向代理功能来实现后端web server的负载均衡和动静分离。这样做的好处是当单台后端server出现性能瓶颈时可以对其进行横向扩展从而提高整个系统的并发,同时也可以通过后端server提供的http或tcp监控接口对其进行健康检查实现自动Failover和Failback。&n…

    Linux干货 2016-07-16
  • CentOS7系统用户空间管理进程systemd详解

    概述:     系统启动过程中,当内核启动完成,后加载根文件系统,后就绪的一些用户空间的服务的管理工作,就交由init进行启动和管理,在CentOS6之前的init的管理方式都类似,相关的内容我们在之前的文章中也做出过介绍。在CentOS7上,init变成了systemd,其管理方式也发生了重大的变化,本章就跟大家欧一…

    Linux干货 2016-09-21
  • 设计模式(一)工厂模式Factory(创建型)

      在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在…

    Linux干货 2015-06-23